qml.qchem.taylor_dipole_coeffs¶
- taylor_dipole_coeffs(pes, max_deg=4, min_deg=1)[source]¶
Computes the coefficients of a Taylor dipole operator.
The coefficients are computed from a multi-dimensional polynomial fit over dipole moment data computed along normal coordinates, with a polynomial specified by
min_deg
andmax_deg
.- Parameters:
pes (VibrationalPES) – the vibrational potential energy surface object
max_deg (int) – maximum degree of the polynomial used to compute the coefficients
min_deg (int) – minimum degree of the polynomial used to compute the coefficients
- Returns:
- a tuple containing:
List(TensorLike[float]): coefficients for x-displacements
List(TensorLike[float]): coefficients for y-displacements
List(TensorLike[float]): coefficients for z-displacements
- Return type:
tuple
Example
>>> freqs = np.array([0.0249722]) >>> dipole_onemode = np.array([[[-1.24222060e-16, -6.29170686e-17, -7.04678188e-02], ... [ 3.83941489e-16, -2.31579327e-18, -3.24444991e-02], ... [ 1.67813138e-17, -5.63904474e-17, -5.60662627e-15], ... [-7.37584781e-17, -5.51948189e-17, 2.96786374e-02], ... [ 1.40526000e-16, -3.67126324e-17, 5.92006212e-02]]]) >>> pes_object = qml.qchem.VibrationalPES(freqs=freqs, dipole_data=[dipole_onemode]) >>> coeffs_x, coeffs_y, coeffs_z = qml.qchem.taylor_dipole_coeffs(pes_object, 4, 2) >>> print(coeffs_z) [array([[-1.54126823e-03, 8.17300533e-03, 3.94178001e-05]])]
Theory
The dipole \(D\) along each of the \(x, y,\) and \(z\) directions is defined as:
\[D(q_1,\cdots,q_M) = D_0 + \sum_{i=1}^M D_1^{(i)}(q_i) + \sum_{i>j} D_2^{(i,j)}(q_i,q_j) + \sum_{i<j<k} D_3^{(i,j,k)}(q_i,q_j,q_k) + \cdots,\]where \(q\) is a normal coordinate and \(D_n\) represents the \(n\)-mode component of the dipole computed along the normal coordinate. The \(D_n\) terms are defined as:
\[\begin{split}D_0 &\equiv D(q_1=0,\cdots,q_M=0) \\ D_1^{(i)}(q_i) &\equiv D(0,\cdots,0,q_i,0,\cdots,0) - D_0 \\ D_2^{(i,j)}(q_i,q_j) &\equiv D(0,\cdots,q_i,\cdots,q_j,\cdots,0) - D_1^{(i)}(q_i) - D_1^{(j)}(q_j) - D_0 \\ \nonumber \vdots\end{split}\]The one-mode Taylor dipole coefficients, \(\Phi\), computed here are related to the dipole data as:
\[D_1^{(j)}(q_j) \approx \Phi^{(2)}_j q_j^2 + \Phi^{(3)}_j q_j^3 + ....\]Similarly, the two-mode and three-mode Taylor dipole coefficients are computed if the two-mode and three-mode dipole data, \(D_2^{(j, k)}(q_j, q_k)\) and \(D_3^{(j, k, l)}(q_j, q_k, q_l)\), are provided.