mirror of
https://github.com/vale981/arb
synced 2025-03-04 17:01:40 -05:00
fungrim refs for Coulomb wave function formulas in comments
This commit is contained in:
parent
1875b0294c
commit
a06da12ef2
2 changed files with 16 additions and 0 deletions
|
@ -166,6 +166,7 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
|
||||
acb_mul_2exp_si(C, C, -1);
|
||||
|
||||
/* http://fungrim.org/entry/1976e1/ */
|
||||
if (asymp)
|
||||
{
|
||||
/* T1 = exp(-(-iz + lv + u log(z1)) U1 */
|
||||
|
@ -206,6 +207,7 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
/* C *= exp(-iz) */
|
||||
acb_div_onei(F, z);
|
||||
acb_add(C, C, F, prec);
|
||||
/* http://fungrim.org/entry/2a2f18/ */
|
||||
acb_hypgeom_m(F, v, m, z1, 1, prec);
|
||||
}
|
||||
|
||||
|
@ -255,6 +257,7 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
|
||||
if (G != NULL)
|
||||
{
|
||||
/* http://fungrim.org/entry/e2efbf/ */
|
||||
if (asymp && arb_is_positive(acb_realref(z)))
|
||||
{
|
||||
if (G_real)
|
||||
|
@ -273,8 +276,10 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
}
|
||||
else
|
||||
{
|
||||
/* http://fungrim.org/entry/8027e8/ */
|
||||
acb_div_onei(u, F);
|
||||
acb_add(u, H1, u, prec);
|
||||
/* http://fungrim.org/entry/69e5fb/ */
|
||||
acb_mul_onei(v, F);
|
||||
acb_add(v, H2, v, prec);
|
||||
|
||||
|
@ -292,7 +297,9 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
|
||||
if (Hpos != NULL)
|
||||
{
|
||||
/* http://fungrim.org/entry/bcdfc6/ */
|
||||
acb_set(u, H1);
|
||||
/* http://fungrim.org/entry/f0414a/ */
|
||||
acb_mul_onei(v, F);
|
||||
acb_mul_2exp_si(v, v, 1);
|
||||
acb_add(v, H2, v, prec);
|
||||
|
@ -310,9 +317,11 @@ _acb_hypgeom_coulomb(acb_t F, acb_t G, acb_t Hpos, acb_t Hneg, const acb_t l, co
|
|||
|
||||
if (Hneg != NULL)
|
||||
{
|
||||
/* http://fungrim.org/entry/0cc301/ */
|
||||
acb_div_onei(u, F);
|
||||
acb_mul_2exp_si(u, u, 1);
|
||||
acb_add(u, H1, u, prec);
|
||||
/* http://fungrim.org/entry/781eae/ */
|
||||
acb_set(v, H2);
|
||||
|
||||
if (cut)
|
||||
|
|
|
@ -28,6 +28,7 @@ _acb_hypgeom_coulomb_f_int_jet(acb_ptr F, const acb_t l, const acb_t eta, const
|
|||
return;
|
||||
}
|
||||
|
||||
/* http://fungrim.org/entry/2a2f18/ */
|
||||
/* F = C * (z+x)^(l+1) e^(-+ i (z+x)) M(l + 1 -+ i eta, 2l+2, +- 2 i (z+x)) */
|
||||
|
||||
acb_poly_init(a);
|
||||
|
@ -169,6 +170,9 @@ _acb_hypgeom_coulomb_jet(acb_ptr F, acb_ptr G, acb_ptr Hpos, acb_ptr Hneg, const
|
|||
(Hneg == NULL) ? NULL : (Hneg + 1),
|
||||
l1, eta, z, prec);
|
||||
|
||||
/* First derivatives:
|
||||
http://fungrim.org/entry/a51a4b/, http://fungrim.org/entry/2fec14/ */
|
||||
|
||||
/* R_l = (2l+1) C_l / C_{l+1} = sqrt(l+i eta) sqrt(l-i eta) / l */
|
||||
if (acb_is_real(l) && acb_is_real(eta) && arb_is_nonzero(acb_realref(eta)))
|
||||
{
|
||||
|
@ -233,6 +237,7 @@ _acb_hypgeom_coulomb_jet(acb_ptr F, acb_ptr G, acb_ptr Hpos, acb_ptr Hneg, const
|
|||
acb_inv(w, z, prec);
|
||||
acb_mul(w2, w, w, prec);
|
||||
|
||||
/* http://fungrim.org/entry/07a654/ */
|
||||
/* F''/2 = q F, q = (2eta/z + l(l+1)/z^2 - 1)/2 */
|
||||
|
||||
acb_mul(q, l, l1, prec);
|
||||
|
@ -247,6 +252,7 @@ _acb_hypgeom_coulomb_jet(acb_ptr F, acb_ptr G, acb_ptr Hpos, acb_ptr Hneg, const
|
|||
if (Hpos != NULL) acb_mul(Hpos + 2, Hpos, q, prec);
|
||||
if (Hneg != NULL) acb_mul(Hneg + 2, Hneg, q, prec);
|
||||
|
||||
/* http://fungrim.org/entry/faa118/ */
|
||||
/* F'''/6 = (2qF' - q2 F)/6, q2 = 2(eta + l(l+1)/z)/z^2 */
|
||||
if (len >= 4)
|
||||
{
|
||||
|
@ -286,6 +292,7 @@ _acb_hypgeom_coulomb_jet(acb_ptr F, acb_ptr G, acb_ptr Hpos, acb_ptr Hneg, const
|
|||
}
|
||||
}
|
||||
|
||||
/* http://fungrim.org/entry/eca10b/ */
|
||||
if (len >= 5)
|
||||
{
|
||||
slong k;
|
||||
|
|
Loading…
Add table
Reference in a new issue