Known bugs =========== Wrong factor on B coefficient (single coeff version) ----------------------------- (Probably fixed in the "calculator object" versions!) 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) (expected plus or minus 1). 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" is broken (most likely in legendre.c and maybe also in qpms_types.h) – the plane wave test fails and the spherical wave reconstruction as well (but the translation coefficients match the Xu's tables). Longitudinal waves ------------------ Plane wave decompositions gives wrong value on the longitudinal part. The implementation of the L coefficients OR the longitudinal waves is thus probably wrong. Scattering result asymmetry --------------------------- The lattice scattering code (such as finitesqlatzsym-scattery.py) produces asymmetric results where one should not get them, due to the system symmetry. It seems that the asymmetry appears mostly in the y-direction (i.e. for example the scattering/absorption cross section at k = (kx, ky, kz) is not exactly the same as k = (kx, -ky, kz). What has been checked (hopefully): - The flip operators for electric waves - Some weird kind of rounding or other numerical error depending on the position ordering of the matrix (randomized indices give the same asymmetry). What has not been checked (so well): - The x,y,z-flip operators for magnetic waves (i.e. are they really supposet to bejust the same as the operators for electric waves, just with opposite sign?) - zplane_pq_y - the translation operators Singular value asymmetry ------------------------ Similar as the scattering result asymmetry, although not necessarily only in the y-direction? Overflows etc. -------------- Assertion failed in gaunt_xu for test_vswf_translations.c and high values of LMAX (LMAX=25) Moreover, the non-normalized legendre functions that are used in translations.c are likely to overflow for even smaller values of l. Therefore TODO: modify translations.c in a way that uses normalised legendre functions everywhere. Memory management ----------------- When compiled with optimizations, I get stack smashing error in qpms_trans_calculator_get_2DFT_longrange_AB_arrays().