Function qsym2::angmom::sh_conversion::sh_cart2cl_mat

source ·
pub fn sh_cart2cl_mat(
    l: u32,
    lcart: u32,
    cartorder: &CartOrder,
    csphase: bool,
    pureorder: &PureOrder,
) -> Array2<Complex<f64>>
Expand description

Obtains the matrix V(l,lcart)\mathbf{V}^{(l, l_{\mathrm{cart}})} containing linear combination coefficients of complex solid harmonic Gaussians of a specific degree in the expansion of Cartesian Gaussians, i.e., briefly,

gT(lcart)=g~T(l) V(l,lcart).\mathbf{g}^{\mathsf{T}}(l_{\mathrm{cart}})
    = \tilde{\mathbf{g}}^{\mathsf{T}}(l)
    \ \mathbf{V}^{(l, l_{\mathrm{cart}})}.

Let g~(α,λ,lcart,r)\tilde{g}(\alpha, \lambda, l_{\mathrm{cart}}, \mathbf{r}) be a complex solid harmonic Gaussian as defined in Equation 1 of Schlegel, H. B. & Frisch, M. J. Transformation between Cartesian and pure spherical harmonic Gaussians. International Journal of Quantum Chemistry 54, 83–87 (1995), DOI with n=lcartn = l_{\mathrm{cart}}, and let g(α,λcart,r)g(\alpha, \lambda_{\mathrm{cart}}, \mathbf{r}) be a Cartesian Gaussian as defined in Equation 2 of the above reference. Here, λ\lambda is a single index labelling a complex solid harmonic Gaussian of spherical harmonic degree ll and order mlm_l, and λcart\lambda_{\mathrm{cart}} a single index labelling a Cartesian Gaussian of degrees (lx,ly,lz)(l_x, l_y, l_z) such that lx+ly+lz=lcartl_x + l_y + l_z = l_{\mathrm{cart}}. We can then write

g(α,λcart,r)=λllcartg~(α,λ,lcart,r)Vλλcart(lcart)g(\alpha, \lambda_{\mathrm{cart}}, \mathbf{r})
= \sum_{\substack{\lambda\\ l \leq l_{\mathrm{cart}}}}
    \tilde{g}(\alpha, \lambda, l_{\mathrm{cart}}, \mathbf{r})
    V^{(l_{\mathrm{cart}})}_{\lambda\lambda_{\mathrm{cart}}}

where Vλλcart(lcart)V^{(l_{\mathrm{cart}})}_{\lambda\lambda_{\mathrm{cart}}} is given by the inverse complex coefficients

Vλλcart(lcart)=c1(lx,ly,lz,l,ml,lcart)V^{(l_{\mathrm{cart}})}_{\lambda\lambda_{\mathrm{cart}}} =
    c^{-1}(l_x, l_y, l_z, l, m_l, l_{\mathrm{cart}})

defined in complexcinv.

We can order the rows λ\lambda of V(lcart)\mathbf{V}^{(l_{\mathrm{cart}})} that have the same ll into rectangular blocks of dimensions (2l+1)×12(lcart+1)(lcart+2)(2l+1) \times \frac{1}{2}(l_{\mathrm{cart}}+1)(l_{\mathrm{cart}}+2) which give contributions from complex solid harmonic Gaussians of a particular degree ll. We denote these blocks V(l,lcart)\mathbf{V}^{(l, l_{\mathrm{cart}})}. They contain only zero elements if ll and lcartl_{\mathrm{cart}} have different parities.

§Arguments

  • l - The degree of the complex spherical harmonic factor in the solid harmonic Gaussian.
  • lcart - The total Cartesian degree for the Cartesian Gaussians and also for the radial part of the solid harmonic Gaussian.
  • cartorder - A CartOrder struct giving the ordering of the components of the Cartesian Gaussians.
  • csphase - Set to true to use the Condon–Shortley phase in the calculations of the c1c^{-1} coefficients. See complexc and complexcinv for more details.
  • pureorder - A PureOrder struct giving the ordering of the components of the pure Gaussians.

§Returns

The V(l,lcart)\mathbf{V}^{(l, l_{\mathrm{cart}})} block.