quri_parts.chem.mol.models module#
- class quri_parts.chem.mol.models.OrbitalType(value)#
Bases:
Enum
Type of orbital.
- CORE = 1#
core orbital.
- ACTIVE = 2#
active orbital.
- VIRTUAL = 3#
virtual orbital.
- class quri_parts.chem.mol.models.ActiveSpace(n_active_ele: int, n_active_orb: int, active_orbs_indices: Sequence[int] | None = None)#
Bases:
object
An immutable (frozen) dataclass representing a active space.
- n_active_ele: int#
number of active electrons.
- n_active_orb: int#
number of active orbitals.
- active_orbs_indices: Sequence[int] | None = None#
sequence of spatial orbital indices of the active orbitals.
- quri_parts.chem.mol.models.cas(n_active_ele: int, n_active_orb: int, active_orbs_indices: Sequence[int] | None = None) ActiveSpace #
Convenient function for constructing the active space.
- class quri_parts.chem.mol.models.MolecularOrbitals(*args, **kwargs)#
Bases:
Protocol
Interface protocol for a data of the molecule.
- abstract property n_electron: int#
Returns the number of electrons.
- abstract property spin: int#
Returns the total spin of the electrons.
Note
We follow the quantum chemistry convention where:
\[N_{\alpha} - N_{\beta} = 2S\]and spin = 2S.
- abstract property n_spatial_orb: int#
Returns the number of spatial orbitals.
- abstract property mo_coeff: ndarray[Any, dtype[complex128]]#
Returns molecular orbital coefficients.
- class quri_parts.chem.mol.models.ActiveSpaceMolecularOrbitals(mo: MolecularOrbitals, active_space: ActiveSpace)#
Bases:
MolecularOrbitals
Represents a data of the active space for the molecule.
- Parameters:
mo –
MolecularOrbitals
for the molecule.active_space –
ActiveSpace
for the molecule.
- property n_electron: int#
Returns a number of electrons.
- property spin: int#
Returns the total spin of the electrons.
- property n_active_ele: int#
Returns the number of active electrons.
- property n_core_ele: int#
Returns the number of core electrons.
- property n_ele_alpha: int#
Return the number of spin up electrons.
- property n_ele_beta: int#
Return the number of spin down electrons.
- property n_spatial_orb: int#
Returns the number of spatial orbitals.
- property n_active_orb: int#
Returns the number of active orbitals.
- property n_core_orb: int#
Returns the number of core orbitals.
- property n_vir_orb: int#
Returns the number of virtual orbitals.
- property mo_coeff: ndarray[Any, dtype[complex128]]#
Returns molecular orbital coefficients.
- get_core_and_active_orb() tuple[Sequence[int], Sequence[int]] #
Returns a set of core and active orbitals.
The output orbitals are represented as the spatial orbital.
- orb_type(mo_index: int) OrbitalType #
Returns a type of the given orbital index.
- Parameters:
mo_index – Orbital index.
- class quri_parts.chem.mol.models.AO1eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for an atomic orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- abstract to_mo1int(mo_coeff: ndarray[Any, dtype[complex128]]) SpinMO1eInt #
This method converts an atomic orbital one-electron integral into the molecular orbital one-electron integral.
- Parameters:
mo_coeff – molecular orbital coefficients.
- class quri_parts.chem.mol.models.AO2eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for an atomic orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- abstract to_mo2int(mo_coeff: ndarray[Any, dtype[complex128]]) SpinMO2eInt #
This method converts an atomic orbital two-electron integral into the molecular orbital two-electron integral.
- Parameters:
mo_coeff – molecular orbital coefficients.
- class quri_parts.chem.mol.models.AOeIntSet(*args, **kwargs)#
Bases:
Protocol
AOeIntSet holds a constant and the atomic orbital electron integrals.
- constant: float#
constant.
- to_full_space_mo_int(mo: MolecularOrbitals) SpinMOeIntSet #
Compute the full space spin mo integral.
- to_active_space_mo_int(active_space_mo: ActiveSpaceMolecularOrbitals) SpinMOeIntSet #
Compute the active space spin mo integral.
- class quri_parts.chem.mol.models.SpatialMO1eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for a molecular orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpatialMO2eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for a molecular orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpatialMO1eIntArray(array: ndarray[Any, dtype[complex128]])#
Bases:
SpatialMO1eInt
A class of a molecular orbital one-electron integral.
This interface has an integral as numpy ndarray.
- property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpatialMO2eIntArray(array: ndarray[Any, dtype[complex128]])#
Bases:
SpatialMO2eInt
A class of a molecular orbital two-electron integral.
This interface has an integral as numpy ndarray.
- property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpatialMOeIntSet(const: float, mo_1e_int: SpatialMO1eInt, mo_2e_int: SpatialMO2eInt)#
Bases:
NamedTuple
SpatialMOeIntSet holds a constant and a set of molecular orbital electron integral.
- const: float#
constant.
- mo_1e_int: SpatialMO1eInt#
molecular orbital one-electron integral.
- mo_2e_int: SpatialMO2eInt#
molecular orbital two-electron integral.
- class quri_parts.chem.mol.models.SpinMO1eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for a molecular spin orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpinMO2eInt(*args, **kwargs)#
Bases:
Protocol
Interface protocol for a molecular spin orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpinMO1eIntArray(array: ndarray[Any, dtype[complex128]])#
Bases:
SpinMO1eInt
Stores the array of the 1-electron integrals.
- property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpinMO2eIntArray(array: ndarray[Any, dtype[complex128]])#
Bases:
SpinMO2eInt
Stores the array of the 2-electron integrals.
- property array: ndarray[Any, dtype[complex128]]#
Returns integral as numpy ndarray.
- class quri_parts.chem.mol.models.SpinMOeIntSet(const: float, mo_1e_int: SpinMO1eInt, mo_2e_int: SpinMO2eInt)#
Bases:
NamedTuple
SpinMOeIntSet holds a constant and a set of molecular orbital electron integral.
- const: float#
constant.
- mo_1e_int: SpinMO1eInt#
spin molecular orbital one-electron integral.
- mo_2e_int: SpinMO2eInt#
spin molecular orbital two-electron integral.