Processing math: 100%

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(q1,,qM)=D0+Mi=1D(i)1(qi)+i>jD(i,j)2(qi,qj)+i<j<kD(i,j,k)3(qi,qj,qk)+,

where q is a normal coordinate and Dn represents the n-mode component of the dipole computed along the normal coordinate. The Dn terms are defined as:

D0D(q1=0,,qM=0)D(i)1(qi)D(0,,0,qi,0,,0)D0D(i,j)2(qi,qj)D(0,,qi,,qj,,0)D(i)1(qi)D(j)1(qj)D0

The one-mode Taylor dipole coefficients, Φ, computed here are related to the dipole data as:

D(j)1(qj)Φ(2)jq2j+Φ(3)jq3j+....

Similarly, the two-mode and three-mode Taylor dipole coefficients are computed if the two-mode and three-mode dipole data, D(j,k)2(qj,qk) and D(j,k,l)3(qj,qk,ql), are provided.