Spheroidal wave functions: which angular normalization?
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
The issue proposes prolate and oblate spheroidal wave functions and asks maintainers to choose an angular normalization. Read the linked discussion in #303 and compare the stated Meixner–Schäfke and Flammer conventions, including the SciPy conversion and reference constraints. Done means a convention is agreed on; implementation and high-precision reference tests are described as follow-up work.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Following @dschmitz89's request in #303: we're going to add prolate and oblate spheroidal wave functions (characteristic value, angular function of the first kind, radial functions of the first and second kind, and derivatives), ported from Van Buren's MIT-licensed codes and tested against high-precision Arb/MPFR references.
The radial functions are normalized the same way in every convention. The angular function $S_{mn}(c,\eta)$ is not, and we need to pick one:
Meixner–Schäfke (DLMF 30.4, Mathematica's SpheroidalPS, Van Buren's default)
- Includes the Condon–Shortley phase, consistent with
boost::math::legendre_p. - $|S_{mn}| = |P_n^m|$ for every $c$, so the function stays bounded as $c$ grows.
Flammer (scipy.special.pro_ang1/obl_ang1)
- No Condon–Shortley phase; $S_{mn}(c,0) = P_n^m(0)$ for even $n-m$, $S_{mn}'(c,0) = P_n^{m\prime}(0)$ for odd.
- Drop-in for SciPy.
- For oblate functions the norm grows quickly with $c$: $|S_{00}|/|P_0^0|$ is about 1.2e3 at $c=10$, 3.4e11 at $c=30$ and 2.6e24 at $c=60$.
I lean towards Meixner–Schäfke. SciPy can convert with $S^{\text{Flammer}} = \frac{P_n^m(0)}{\mathrm{Ps}(0)},\mathrm{Ps}$ (and use derivatives at 0 for odd $n-m$), with the phase factor $(-1)^m$. The other option is to ship both. Opinions welcome, especially from the SciPy side.
Note that SciPy's current values can't serve as test references: the reference pro_rad2 satisfies the Wronskian $R^{(1)}R^{(2)\prime} - R^{(1)\prime}R^{(2)} = 1/(c(\xi^2-1))$ to 1e-47, while SciPy's differs from it by 1.1% at $(m,n,c,\xi) = (1,2,2,1.5)$ and by a factor of about 7 at $(3,7,10,1.2)$.
- Lenguaje dominante
- C++
- Estrellas
- 378
- Forks
- 271
- Merge medio
- 12 h 37 min
- PR fusionados (30 d)
- 66
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de boostorg/math
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
Los mantenedores suelen responder en 1 día
-
Reverse-mode autodiff: order-2 tape slows order-1 gradients, rewound tapes keep allocating blocks, rvar copies silently share a nodePosiblemente ocupada @NAThompson la tomó hace 2 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
Los mantenedores suelen responder en 1 día
-
Feature WishlistAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
boostorg/math#303 · 20 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de boostorg/math
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
[XLA] hlo/pass/README.md says passes implement Run; since the NVI change they implement RunImplAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NVIDIA-RTX/NRI#312 ·
Los mantenedores suelen responder en 1 día
-
permute_q_b_proj / permute_wv_proj accept scale factors from another devicePosiblemente ocupada @0z5a la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
deepseek-ai/FlashMLA#247 ·
Los mantenedores suelen responder en 1 día
-
Linux npm packaging leaves workspace files that block subsequent CI checkoutPosiblemente ocupada @Spockkk0225 la tomó hoy. Abiertoci
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
alibaba/neug#1195 · 1 comentario ·
Los mantenedores suelen responder en 1 día