qml.qchem.vscf_integrals¶
- vscf_integrals(h_integrals, d_integrals=None, modals=None, cutoff=None, cutoff_ratio=1e-06)[source]¶
Generates vibrational self-consistent field rotated integrals.
This function converts the Christiansen vibrational Hamiltonian integrals obtained in the harmonic oscillator basis to integrals in the vibrational self-consistent field (VSCF) basis. The implementation is based on the method described in J. Chem. Theory Comput. 2010, 6, 235–248.
- Parameters
h_integrals (list[TensorLike[float]]) – List of Hamiltonian integrals for up to 3 coupled vibrational modes. Look at the Usage Details for more information.
d_integrals (list[TensorLike[float]]) – List of dipole integrals for up to 3 coupled vibrational modes. Look at the Usage Details for more information.
modals (list[int]) – list containing the maximum number of modals to consider for each vibrational mode. Default value is the maximum number of modals.
cutoff (float) – threshold value for including matrix elements into operator
cutoff_ratio (float) – ratio for discarding elements with respect to biggest element in the integrals. Default value is
1e-6
.
- Returns
- a tuple containing:
list[TensorLike[float]]: List of Hamiltonian integrals in VSCF basis for up to 3 coupled vibrational modes.
list[TensorLike[float]]: List of dipole integrals in VSCF basis for up to 3 coupled vibrational modes.
None
is returned ifd_integrals
isNone
.- Return type
tuple
Example
>>> h1 = np.array([[[0.00968289, 0.00233724, 0.0007408, 0.00199125], ... [0.00233724, 0.02958449, 0.00675431, 0.0021936], ... [0.0007408, 0.00675431, 0.0506012, 0.01280986], ... [0.00199125, 0.0021936, 0.01280986, 0.07282307]]]) >>> qml.qchem.vscf_integrals(h_integrals=[h1], modals=[4,4,4]) ([array([[[ 9.36124041e-03, -4.20128342e-19, 3.25260652e-19, 1.08420217e-18], [-9.21571847e-19, 2.77803512e-02, -3.46944695e-18, 5.63785130e-18], [-3.25260652e-19, -8.67361738e-19, 4.63297357e-02, -1.04083409e-17], [ 1.30104261e-18, 5.20417043e-18, -1.38777878e-17, 7.92203227e-02]]])], None)
Usage Details
The
h_integral
tensor must have one of these dimensions:1-mode coupled integrals: (n, m)
2-mode coupled integrals: (n, n, m, m, m, m)
3-mode coupled integrals: (n, n, n, m, m, m, m, m, m)
where
n
is the number of vibrational modes in the molecule andm
represents the number of modals.The
d_integral
tensor must have one of these dimensions:1-mode coupled integrals: (3, n, m)
2-mode coupled integrals: (3, n, n, m, m, m, m)
3-mode coupled integrals: (3, n, n, n, m, m, m, m, m, m)
where
n
is the number of vibrational modes in the molecule,m
represents the number of modals and the first axis represents thex, y, z
component of the dipole. Default isNone
.