fix qpms_tmatrix_copy
[qpms.git] / BUGS.rst
blobdaefc43add6aef0fd63fd982eb34a3affa1e87b2
1 Known bugs
2 ===========
4 Wrong factor on B coefficient (single coeff version)
5 -----------------------------
6 (Probably fixed in the "calculator object" versions!)
7 Under Kristensson normalisation (with CS = -1), my code gives
8 B(1,0,n,n)/B(1,0,n,-n) == -(2n)! at (x,y,z) = (x,0,0)
9 (expected plus or minus 1).
10 A-coefficients seem to behave correctly.
11 BUT THE CSPHASE MIGHT BE WRONG ON BOTH SINGLE A AND B (TODO TEST)
13 Xu's antinormalisation
14 ----------------------
15 "Xu's antinormalisation" is broken (most likely in legendre.c and maybe
16 also in qpms_types.h) – the plane wave test fails and the spherical wave
17 reconstruction as well (but the translation coefficients match the 
18 Xu's tables).
20 Longitudinal waves
21 ------------------
22 Plane wave decompositions gives wrong value on the longitudinal part.
23 The implementation of the L coefficients OR the longitudinal waves
24 is thus probably wrong.
26 Scattering result asymmetry
27 ---------------------------
28 The lattice scattering code (such as finitesqlatzsym-scattery.py) produces
29 asymmetric results where one should not get them, due to the system symmetry.
31 It seems that the asymmetry appears mostly in the y-direction (i.e.
32 for example the scattering/absorption cross section at k = (kx, ky, kz)
33 is not exactly the same as k = (kx, -ky, kz).
35 What has been checked (hopefully):
36  - The flip operators for electric waves
37  - Some weird kind of rounding or other numerical error depending on
38    the position ordering of the matrix (randomized indices give
39    the same asymmetry).
41 What has not been checked (so well):
42  - The x,y,z-flip operators for magnetic waves (i.e. are they really 
43    supposet to bejust the
44    same as the operators for electric waves, just with opposite sign?) 
45  - zplane_pq_y
46  - the translation operators
49 Singular value asymmetry
50 ------------------------
51 Similar as the scattering result asymmetry, although not necessarily 
52 only in the y-direction?
54 Overflows etc.
55 --------------
56 Assertion failed in gaunt_xu for test_vswf_translations.c and high values of LMAX
57 (LMAX=25)
59 Moreover, the non-normalized legendre functions that are used in translations.c
60 are likely to overflow for even smaller values of l. 
61 Therefore TODO: modify translations.c in a way that uses normalised legendre functions everywhere.
63 Memory management
64 -----------------
65 When compiled with optimizations, I get stack smashing error in  qpms_trans_calculator_get_2DFT_longrange_AB_arrays().