Fix regression
Former-commit-id: 89b21f29bdd06afcb3d49a8532d3a0c551f21a22
This commit is contained in:
parent
d954615db0
commit
6a6a3853e1
1
BUGS.rst
1
BUGS.rst
|
@ -8,6 +8,7 @@ Under Kristensson normalisation (with CS = -1), my code gives
|
||||||
B(1,0,n,n)/B(1,0,n,-n) == -(2n)! at (x,y,z) = (x,0,0)
|
B(1,0,n,n)/B(1,0,n,-n) == -(2n)! at (x,y,z) = (x,0,0)
|
||||||
(expected plus or minus 1).
|
(expected plus or minus 1).
|
||||||
A-coefficients seem to behave correctly.
|
A-coefficients seem to behave correctly.
|
||||||
|
BUT THE CSPHASE MIGHT BE WRONG ON BOTH SINGLE A AND B (TODO TEST)
|
||||||
|
|
||||||
Xu's antinormalisation
|
Xu's antinormalisation
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -196,6 +196,8 @@ complex double qpms_trans_single_A(qpms_normalisation_t norm,
|
||||||
double a1q0 = a1q[0];
|
double a1q0 = a1q[0];
|
||||||
if (err) abort();
|
if (err) abort();
|
||||||
|
|
||||||
|
int csphase = qpms_normalisation_t_csphase(norm);
|
||||||
|
|
||||||
double leg[gsl_sf_legendre_array_n(n+nu)];
|
double leg[gsl_sf_legendre_array_n(n+nu)];
|
||||||
if (gsl_sf_legendre_array_e(GSL_SF_LEGENDRE_NONE,n+nu,costheta,csphase,leg)) abort();
|
if (gsl_sf_legendre_array_e(GSL_SF_LEGENDRE_NONE,n+nu,costheta,csphase,leg)) abort();
|
||||||
complex double bes[n+nu+1];
|
complex double bes[n+nu+1];
|
||||||
|
@ -369,6 +371,8 @@ complex double qpms_trans_single_B(qpms_normalisation_t norm,
|
||||||
}
|
}
|
||||||
gaunt_xu(-m,n+1,mu,nu,Qmax,a3q,&err); if (err) abort();
|
gaunt_xu(-m,n+1,mu,nu,Qmax,a3q,&err); if (err) abort();
|
||||||
a3q0 = a3q[0];
|
a3q0 = a3q[0];
|
||||||
|
|
||||||
|
int csphase = qpms_normalisation_t_csphase(norm);
|
||||||
|
|
||||||
double leg[gsl_sf_legendre_array_n(n+nu+1)];
|
double leg[gsl_sf_legendre_array_n(n+nu+1)];
|
||||||
if (gsl_sf_legendre_array_e(GSL_SF_LEGENDRE_NONE,n+nu+1,costheta,csphase,leg)) abort();
|
if (gsl_sf_legendre_array_e(GSL_SF_LEGENDRE_NONE,n+nu+1,costheta,csphase,leg)) abort();
|
||||||
|
|
Loading…
Reference in New Issue