qscat.special

Riccati–Bessel and Riccati–Hankel functions, their reduced-mass generalizations, and the Coulomb functions used for ionic targets.

riccati_bessel_en

F_{E,l}(r) = sqrt(2 mu k / pi) r j_l(k r), energy-normalized at mass mu.

riccati_hankel_en

F^{(1)}_{E,l}(r) = sqrt(2 mu k / pi) r h_l^{(1)}(k r), energy-normalized at mass mu, h_l^{(1)} = j_l + i y_l the OUTGOING spherical Hankel function.

riccati_bessel_en_mass

Deprecated alias for riccati_bessel_en(r, k, l, mu): the mass generalization lives on the base name now.

riccati_hankel_en_mass

Deprecated alias for riccati_hankel_en(r, k, l, mu): the mass generalization lives on the base name now.

coulomb_f_en

sqrt(2m/pi k) F_l(m z/k, k x); reduces to riccati_bessel_en(x,k,l) at z=0, m=1.

coulomb_g_en

Energy-normalized irregular Coulomb function sqrt(2m/pi k) G_l.

coulomb_h1_en

Energy-normalized OUTGOING Coulomb function sqrt(2m/pi k)(G_l + i F_l).

Special functions (Coulomb, Bessel, …). Populated during method porting.

qscat.special.coulomb_f_en(x, k, z, m, l)[source]

sqrt(2m/pi k) F_l(m z/k, k x); reduces to riccati_bessel_en(x,k,l) at z=0, m=1.

Parameters:
Return type:

NDArray[complex128]

qscat.special.coulomb_g_en(x, k, z, m, l)[source]

Energy-normalized irregular Coulomb function sqrt(2m/pi k) G_l.

Parameters:
Return type:

NDArray[complex128]

qscat.special.coulomb_h1_en(x, k, z, m, l)[source]

Energy-normalized OUTGOING Coulomb function sqrt(2m/pi k)(G_l + i F_l).

Parameters:
Return type:

NDArray[complex128]

qscat.special.riccati_bessel_en(r, k, l, mu=1.0)[source]

F_{E,l}(r) = sqrt(2 mu k / pi) r j_l(k r), energy-normalized at mass mu.

The energy-normalized (<F_E|F_E’> = delta(E-E’)) REGULAR radial solution for a particle of reduced mass mu and momentum k = sqrt(2 mu E). mu=1.0 (the default) is the electron case – bit-for-bit the historical mass-1 function, since 2.0*1.0 == 2.0 exactly and mu enters ONLY the normalization prefactor, never the momentum argument k r. mu != 1 is the nuclear case, used for the OUTGOING NUCLEAR dissociation wave in the DA/DR exit channel (eMoScat bessel::s_jEn(R, K, mu, l)). r must be REAL (see module docstring); k > 0, mu > 0.

Parameters:
Return type:

NDArray[float64]

qscat.special.riccati_bessel_en_mass(r, k, l, mu)[source]

Deprecated alias for riccati_bessel_en(r, k, l, mu): the mass generalization lives on the base name now. Kept so existing imports keep working; new code should call riccati_bessel_en directly.

Parameters:
Return type:

NDArray[float64]

qscat.special.riccati_hankel_en(r, k, l, mu=1.0)[source]

F^{(1)}_{E,l}(r) = sqrt(2 mu k / pi) r h_l^{(1)}(k r), energy-normalized at mass mu, h_l^{(1)} = j_l + i y_l the OUTGOING spherical Hankel function.

The outgoing sibling of riccati_bessel_en, with the same mass convention: mu enters only the sqrt(mu) normalization prefactor (2.0*1.0 == 2.0 exactly, so mu=1.0 is bit-for-bit the historical mass-1 function), never the momentum argument k r. So Re(F^{(1)}) == riccati_bessel_en and Im(F^{(1)}) = sqrt(2 mu k/pi) r y_l(k r) at the same (r, k, l, mu). mu != 1 drives the OUTGOING NUCLEAR dissociation wave in the DA/DR flux (Wronskian) extractor (eMoScat bessel::sphHankel1En(R, K, mu, l) – see qscat.core.td_extractors.Flux). r must be REAL (module docstring); k > 0, mu > 0.

Parameters:
Return type:

NDArray[complex128]

qscat.special.riccati_hankel_en_mass(r, k, l, mu)[source]

Deprecated alias for riccati_hankel_en(r, k, l, mu): the mass generalization lives on the base name now. Kept so existing imports keep working; new code should call riccati_hankel_en directly.

Parameters:
Return type:

NDArray[complex128]