qiskit.chemistry.transformations.FermionicTransformation¶

class
FermionicTransformation
(transformation=<FermionicTransformationType.FULL: 'full'>, qubit_mapping=<FermionicQubitMappingType.PARITY: 'parity'>, two_qubit_reduction=True, freeze_core=False, orbital_reduction=None, z2symmetry_reduction=None)[Quellcode]¶ A transformation from a fermionic problem, represented by a driver, to a qubit operator.
 Parameter
transformation (
FermionicTransformationType
) – full or particle_holequbit_mapping (
FermionicQubitMappingType
) – ‚jordan_wigner‘, ‚parity‘ or ‚bravyi_kitaev‘two_qubit_reduction (
bool
) – Whether two qubit reduction should be used, when parity mapping onlyfreeze_core (
bool
) – Whether to freeze core orbitals when possibleorbital_reduction (
Optional
[List
[int
]]) – Orbital list to be frozen or removedz2symmetry_reduction (
Union
[str
,List
[int
],None
]) – If z2 symmetry reduction should be applied to resulting qubit operators that are computed. For each symmetry detected the operator will be split in two where each requires one qubit less for computation. So for example 3 symmetries will split in the original operator into 8 new operators each requiring 3 less qubits. Now only one of these operators will have the ground state and be the correct symmetry sector needed for the ground state. Setting ‚auto‘ will use an automatic computation of the correct sector. If from other experiments, with the z2symmetry logic, the sector is known, then the tapering values of that sector can be provided (a list of int of values 1, and 1). The default is None meaning no symmetry reduction is done. Note that dipole and other operators such as spin, num particles etc are also symmetry reduced according to the symmetries found in the main operator if this operator commutes with the main operator symmetry. If it does not then the operator will be discarded since no meaningful measurement can take place.
 Verursacht
QiskitChemistryError – Invalid symmetry reduction

__init__
(transformation=<FermionicTransformationType.FULL: 'full'>, qubit_mapping=<FermionicQubitMappingType.PARITY: 'parity'>, two_qubit_reduction=True, freeze_core=False, orbital_reduction=None, z2symmetry_reduction=None)[Quellcode]¶  Parameter
transformation (
FermionicTransformationType
) – full or particle_holequbit_mapping (
FermionicQubitMappingType
) – ‚jordan_wigner‘, ‚parity‘ or ‚bravyi_kitaev‘two_qubit_reduction (
bool
) – Whether two qubit reduction should be used, when parity mapping onlyfreeze_core (
bool
) – Whether to freeze core orbitals when possibleorbital_reduction (
Optional
[List
[int
]]) – Orbital list to be frozen or removedz2symmetry_reduction (
Union
[str
,List
[int
],None
]) – If z2 symmetry reduction should be applied to resulting qubit operators that are computed. For each symmetry detected the operator will be split in two where each requires one qubit less for computation. So for example 3 symmetries will split in the original operator into 8 new operators each requiring 3 less qubits. Now only one of these operators will have the ground state and be the correct symmetry sector needed for the ground state. Setting ‚auto‘ will use an automatic computation of the correct sector. If from other experiments, with the z2symmetry logic, the sector is known, then the tapering values of that sector can be provided (a list of int of values 1, and 1). The default is None meaning no symmetry reduction is done. Note that dipole and other operators such as spin, num particles etc are also symmetry reduced according to the symmetries found in the main operator if this operator commutes with the main operator symmetry. If it does not then the operator will be discarded since no meaningful measurement can take place.
 Verursacht
QiskitChemistryError – Invalid symmetry reduction
Methods
__init__
([transformation, qubit_mapping, …]) type transformation
FermionicTransformationType
build_hopping_operators
([excitations])Builds the product of raising and lowering operators (basic excitation operators)
Returns a default filter criterion method to filter the eigenvalues computed by the eigen solver.
interpret
(raw_result)Interprets an EigenstateResult in the context of this transformation.
transform
(driver[, aux_operators])Transformation from the
driver
to a qubit operator.Attributes
Getter of the commutation rule
Getter of the molecule information.
Getter of the qubit mapping.
Getter for the untapered qubit operator

build_hopping_operators
(excitations='sd')[Quellcode]¶ Builds the product of raising and lowering operators (basic excitation operators)
 Parameter
excitations (
Union
[str
,List
[List
[int
]]]) – The excitations to be included in the eom pseudoeigenvalue problem. If a string (‚s‘, ‚d‘ or ‚sd‘) then all excitations of the given type will be used. Otherwise a list of custom excitations can directly be provided. Rückgabetyp
Tuple
[Dict
[str
,WeightedPauliOperator
],Dict
[str
,List
[bool
]],Dict
[str
,List
[Any
]]] Rückgabe
A tuple containing the hopping operators, the types of commutativities and the excitation indices.

property
commutation_rule
¶ Getter of the commutation rule
 Rückgabetyp
bool

get_default_filter_criterion
()[Quellcode]¶ Returns a default filter criterion method to filter the eigenvalues computed by the eigen solver. For more information see also aqua.algorithms.eigen_solvers.NumPyEigensolver.filter_criterion.
In the fermionic case the default filter ensures that the number of particles is being preserved.
 Rückgabetyp
Optional
[Callable
[[Union
[List
,ndarray
],float
,Optional
[List
[float
]]],bool
]]

interpret
(raw_result)[Quellcode]¶ Interprets an EigenstateResult in the context of this transformation.
 Parameter
raw_result (
Union
[EigenstateResult
,EigensolverResult
,MinimumEigensolverResult
]) – an eigenstate result object. Rückgabetyp
ElectronicStructureResult
 Rückgabe
An electronic structure result.

property
molecule_info
¶ Getter of the molecule information.
 Rückgabetyp
Dict
[str
,Any
]

property
qubit_mapping
¶ Getter of the qubit mapping.
 Rückgabetyp
str

transform
(driver, aux_operators=None)[Quellcode]¶ Transformation from the
driver
to a qubit operator. Parameter
driver (
BaseDriver
) – A driver encoding the molecule information.aux_operators (
Optional
[List
[FermionicOperator
]]) – Additional auxiliaryFermionicOperator
instances to evaluate.
 Rückgabetyp
Tuple
[OperatorBase
,List
[OperatorBase
]] Rückgabe
A qubit operator and a dictionary of auxiliary operators.

property
untapered_qubit_op
¶ Getter for the untapered qubit operator