cart2sph Module

unit-normalized Cartesian components of a shell (OpenQP's canonical bf_names order; see constants::CART_X/Y/Z) onto the 2l+1 real solid harmonics in CCA/libint order (m = -l..+l).

Convention is identical to the validated Python reference in pyoqp/oqp/library/symmetry.py (_solid_harmonic_coefficients): each column of C2S_x holds the Cartesian coefficients of one spherical component, orthonormal against the intra-shell metric S of unit-normalized Cartesian Gaussians (B S B^T = I). The matrices below were generated from that reference and are re-verified at runtime by c2s_selftest().

The transform is applied to integrals that are already in the unit-normalized Cartesian basis (e.g. 2e blocks AFTER the rotation/Rys/libint normalization in int2::shellquartet, where all backends agree). s and p shells are passed through unchanged (Cartesian == spherical up to the trivial 1:1 / 3:3 mapping).