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_degandmax_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(q1,⋯,qM)=D0+M∑i=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:
D0≡D(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.