Function qsym2::angmom::sh_conversion::sh_cart2rl_mat

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

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

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

Let $\bar{g}(\alpha, \lambda, l_{\mathrm{cart}}, \mathbf{r})$ be a real solid harmonic Gaussian defined in a similar manner to 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}}$, but with real rather than complex spherical harmonic factors, 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 real solid harmonic Gaussian of spherical harmonic degree $l$ and real 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

g(\alpha, \lambda_{\mathrm{cart}}, \mathbf{r})
= \sum_{\substack{\lambda\\ l \leq l_{\mathrm{cart}}}}
    \bar{g}(\alpha, \lambda, l_{\mathrm{cart}}, \mathbf{r})
    X^{(l_{\mathrm{cart}})}_{\lambda\lambda_{\mathrm{cart}}}.

We can order the rows $\lambda$ of $\mathbf{X}^{(l_{\mathrm{cart}})}$ that have the same $l$ into rectangular blocks of dimensions $(2l+1) \times \frac{1}{2}(l_{\mathrm{cart}}+1)(l_{\mathrm{cart}}+2)$. We denote these blocks $\mathbf{X}^{(l, l_{\mathrm{cart}})}$ which are given by

\mathbf{X}^{(l, l_{\mathrm{cart}})}
= \boldsymbol{\Upsilon}^{(l)} \mathbf{V}^{(l, l_{\mathrm{cart}})},

where $\boldsymbol{\Upsilon}^{(l)}$ is defined in sh_c2r_mat and $\boldsymbol{V}^{(l, l_{\mathrm{cart}})}$ in sh_cart2cl_mat. $\mathbf{X}^{(l, l_{\mathrm{cart}})}$ must be real.

§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 $c^{-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 $\mathbf{X}^{(l, l_{\mathrm{cart}})}$ block.