Base
- class slowquant.qiskit_interface.base.FermionicOperator(annihilation_operator: dict[str, list[a_op]] | a_op, factor: dict[str, float] | float)
Initialize fermionic operator class.
- Parameters:
annihilation_operator – Annihilation operator.
factor – Factor in front of operator.
- property dagger: FermionicOperator
Complex conjugation of fermionic operator.
- Returns:
New fermionic operator.
- get_folded_operator(num_inactive_orbs: int, num_active_orbs: int, num_virtual_orbs: int) FermionicOperator
Get folded operator.
Warning, multiplication of folded operators, might give wrong operators. (I have not quite figured out a good programming structure that will not allow multiplication after folding)
Note, that the indicies of the folded operator is remapped, such that idx=0 is the first index in the active space.
- Parameters:
num_inactive_orbs – Number of spatial inactive orbitals.
num_active_orbs – Number of spatial active orbitals.
num_virtual_orbs – Number of spatial virtual orbitals.
- Returns:
Folded fermionic operator.
- get_info() tuple[list[list[int]], list[list[int]], list[float]]
Return operator excitation in ordered strings with coefficient.
- get_qiskit_form(num_orbs: int) dict[str, float]
Get fermionic operator on qiskit form.
- Parameters:
num_orbs – Number of spatial orbitals.
- Returns:
Fermionic opetaros on qiskit form.
- property operator_count: dict[int, int]
Count number of operators of different lengths.
- Returns:
Number of operators of every length.
- class slowquant.qiskit_interface.base.a_op(spinless_idx: int, spin: str, dagger: bool)
Initialize fermionic annihilation operator.
- Parameters:
spinless_idx – Spatial orbital index.
spin – Alpha or beta spin.
dagger – If creation operator.
- slowquant.qiskit_interface.base.do_extended_normal_ordering(fermistring: FermionicOperator) tuple[dict[str, list[a_op]], dict[str, float]]
Reorder fermionic operator string.
The string will be ordered such that all creation operators are first, and annihilation operators are second. Within a block of creation or annihilation operators the largest spin index will be first and the ordering will be descending.
- Returns:
Reoreder operator dict and factor dict.
- slowquant.qiskit_interface.base.operator_string_to_key(operator_string: list[a_op]) str
Make key string to index a fermionic operator in a dict structure.
- Parameters:
operator_string – Fermionic opreators.
- Returns:
Dictionary key.
- slowquant.qiskit_interface.base.operator_to_qiskit_key(operator_string: list[a_op], remapping: dict[int, int]) str
Make key string to index a fermionic operator in a dict structure.
- Parameters:
operator_string – Fermionic opreators.
remapping – Map that takes indices from alpha,beta,alpha,beta to alpha,alpha,beta,beta ordering.
- Returns:
Dictionary key.