Function qsym2::angmom::sh_conversion::sh_cl2cart_mat

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

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

\tilde{\mathbf{g}}^{\mathsf{T}}(l)
    = \mathbf{g}^{\mathsf{T}}(l_{\mathrm{cart}})
    \ \mathbf{U}^{(l_{\mathrm{cart}}, l)}.

Let $\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 = l_{\mathrm{cart}}$, and let $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 $l$ and order $m_l$, and $\lambda_{\mathrm{cart}}$ a single index labelling a Cartesian Gaussian of degrees $(l_x, l_y, l_z)$ such that $l_x + l_y + l_z = l_{\mathrm{cart}}$. We can then write

\tilde{g}(\alpha, \lambda, l_{\mathrm{cart}}, \mathbf{r})
= \sum_{\lambda_{\mathrm{cart}}}
    g(\alpha, \lambda_{\mathrm{cart}}, \mathbf{r})
    U^{(l_{\mathrm{cart}}, l)}_{\lambda_{\mathrm{cart}}\lambda}

where $U^{(l_{\mathrm{cart}}, l)}_{\lambda_{\mathrm{cart}}\lambda}$ is given by the complex coefficients

U^{(l_{\mathrm{cart}}, l)}_{\lambda_{\mathrm{cart}}\lambda} =
    c(l, m_l, l_{\mathrm{cart}}, l_x, l_y, l_z)

defined in complexc.

$\mathbf{U}^{(l_{\mathrm{cart}}, l)}$ has dimensions $\frac{1}{2}(l_{\mathrm{cart}}+1)(l_{\mathrm{cart}}+2) \times (2l+1)$ and contains only zero elements if $l$ and $l_{\mathrm{cart}}$ have different parities. It can be verified that $\mathbf{V}^{(l,l_{\mathrm{cart}})} \ \mathbf{U}^{(l_{\mathrm{cart}}, l)} = \boldsymbol{I}_{2l+1}$, where $\mathbf{V}^{(l,l_{\mathrm{cart}})}$ is given in sh_cart2cl_mat.

§Arguments

  • lcart - The total Cartesian degree for the Cartesian Gaussians and also for the radial part of the solid harmonic Gaussian.
  • l - The degree of the complex spherical harmonic factor in 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 $c$ coefficients. See complexc for more details.
  • pureorder - A PureOrder struct giving the ordering of the components of the pure Gaussians.

§Returns

The $\mathbf{U}^{(l_{\mathrm{cart}}, l)}$ matrix.