Fix regression

Former-commit-id: 89b21f29bdd06afcb3d49a8532d3a0c551f21a22
This commit is contained in:
Marek Nečada 2018-05-13 00:15:02 +00:00
parent d954615db0
commit 6a6a3853e1
2 changed files with 5 additions and 0 deletions

View File

@ -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
---------------------- ----------------------

View File

@ -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];
@ -370,6 +372,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();
complex double bes[n+nu+2]; complex double bes[n+nu+2];