HankelTransform#
HankelTransform is the low-level sampled radial transform used internally by
HarmonicTransform. It is public for specialist calculations that already
have one radial profile and an explicit momentum grid. Most four-center
workflows should use HarmonicTransform.
- class quartic2d.HankelTransform(nu, q, f_r, r, *, r_cutoff=None, method='simpson', interpolator='cubic', subdivisions=2, N=2048, h=None)#
Hankel transform of a sampled radial profile.
The convention is
\[F_\nu(q) = \int_0^\infty r f(r) J_\nu(qr)\,dr.\]- Parameters:
nu (int) – Angular-harmonic order of the transform. Only
abs(nu)enters the Bessel function; the sign is retained so negative PETAL2D harmonics use the package’s phase convention consistently.q (array_like) – Momentum values at which the transform is evaluated directly. They must be finite, non-negative, and strictly increasing.
f_r (array_like) – Sampled radial profile to transform.
f_r[i]is the value atr[i].r (array_like) – Real-space radial coordinates of
f_r. These are the physical input samples; quadrature refinement interpolates between them but does not create new input information.r_cutoff (float or None, optional) – Largest radius included in the represented profile. Samples beyond it are ignored.
Noneuses the entire supplied radial interval.method ({'trapezoid', 'simpson', 'gl4', 'gl8', 'ogata'}, default='simpson') – Numerical rule used to evaluate the radial integral. Simpson is the release default. Method-specific convergence and validation behavior is documented separately from this constructor contract.
interpolator ({'linear', 'cubic', 'pchip'}, default='cubic') – How the sampled radial profile is evaluated between input grid points during quadrature. Cubic interpolation is the benchmarked default.
subdivisions (int, default=2) – Refinement of each original radial interval for finite-grid methods. With
subdivisions=2, each original radial interval is split once before composite integration. Larger values increase radial integration resolution at approximately linear additional cost.N (int, default=2048) – Number of Ogata nodes when
method='ogata'. It is ignored by the finite-grid methods.h (float or None, optional) – Ogata spacing/resolution parameter.
Noneusespi/N. It is ignored by finite-grid methods.
- F_q#
Transform values on
q.- Type:
ndarray
Methods#
|
Select the radial quadrature and recompute the transform. |
|
Select the radial interpolator and recompute the transform. |
|
Refine the active radial quadrature on the current input grids. |