Is the spherical harmonics convention for basis sets in Psi4 documented anywhere? I have gathered that they happen to not be the same as those in Scipy (Y_00 = (1/2)*sqrt(1/pi) in Scipy, but I surmise that Y_00 = 1 in Psi4). Where can I find this documentation for all real spherical harmonics in Psi4?

Psi’s spherical AOs are fully normalized. For an easy demonstration, run wfn.S().np.diagonal() and look at all the 1’s. S is the overlap matrix.

The same is not true of Cartesians (there CCA applies), which can lead to headaches when writing data to external programs, as I have experienced multiple times.

Both of you said or gave references that say “fully normalized”. I’m assuming that this means the “orthonormalized” convention in my original link. Is it correct that the equations for RSH in Psi4 are exactly the same as those in the Wikipedia article?

The psi4 gaussianshell object has an attribute called “coef”. I think this returns the normalization scalar for the entire AO, including both the radial and RSH normalization components. Is that correct?

Orthonormal if they are on the same atom, yes. It looks like that’s the same as the Wikipedia article, but I’m not going to do the detailed dive into the integrals code to confirm that.

GaussianShell.coef() returns the normalized contraction coefficient of a particular Gaussian primitive, exactly as the method’s docstring says.

Fair enough. Is there any way to get the normalization constants for the radial and angular parts separately?

The Schlegel paper does not spell out the real form, but assuming the normalization is the same as the complex form, then the “orthonormal” normalization is what is being used there.

I am still confused, though, because under the “orthonormal” convention, Y_00 = sqrt(1/(4 Pi)), but I have verified that in psi4, Y_00 = 1. The test for this is to print out the GaussianShell.coef() for an s-function. For this, the value returned = (2 alpha/Pi)^0.75, where alpha is the Gaussian width. This is the formula for the normalization of a Gaussian, so it must mean that Y_00 = 1.