qrunch.chemistry.integral_builders.double_factorized_integral_builder
Module for Double Factorized Integral builders.
Classes
Build integrals using Double Factorized integrals. |
- class DoubleFactorizedIntegralBuilder
Bases:
TwoBodyElectronRepulsionIntegralBuilderProtocolBuild integrals using Double Factorized integrals.
- __init__(*, repulsion_integral_builder: TwoBodyElectronRepulsionIntegralBuilderProtocol | None = None, tolerance: float = 1e-10) None
Initialize the Double Factorized integral builder.
- Parameters:
repulsion_integral_builder (TwoBodyElectronRepulsionIntegralBuilderProtocol | None) – The object that can build the initial two electron repulsion integrals, that can be double factorized.
tolerance (float) – Minimum eigenvalue threshold for inclusion.
- Return type:
None
- calculate_integrals(molecular_orbitals: UnrestrictedMolecularOrbitals, molecular_configuration: MolecularConfiguration) UnrestrictedTwoBodyElectronRepulsionIntegralsProtocol
- calculate_integrals(molecular_orbitals: RestrictedMolecularOrbitals, molecular_configuration: MolecularConfiguration) RestrictedDoubleFactorizedIntegrals
Compute Double Factorized integrals for a given molecule.
The tensor is decomposed into lower-rank objects. In this process, we perform two eigenvalue decompositions. The first one provides a set of eigenvalues g_elements and eigenvectors in the form of v_matrices. The second eigenvalue decomposition return sets of eigenvalues and eigenvector matrices for each v_matrix, which we name l_elements and u_matrices. The z_matrices are also generated from the l_elements and g_elements and are useful when reconstructing the tensor or calling individual coefficients.
Not implemented for unrestricted orbitals.
- Parameters:
molecular_orbitals – The Molecular Orbitals.
molecular_configuration – The molecular configuration.