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 and max_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]])]

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.