Currently, construction of a ClebschGordanProduct object involves calculation of CG coefficients with wigners and then some processing, namely: real <-> complex conversion, reshaping into sparse/dense formats, and wrapping in metadata for storage in a TensorMap. While the computation itself is fast, the code for processing was inherited from (very) old versions of the CG code, and is slow and scales poorly with max_angular. Profiling and redesign of this part of the code is required and, once faster, introduce a high default value for max_angular (~ 30 - 50) to make usage of ClebschGordanProduct and wrapping classes more user friendly.
Currently, construction of a
ClebschGordanProductobject involves calculation of CG coefficients withwignersand then some processing, namely: real <-> complex conversion, reshaping into sparse/dense formats, and wrapping in metadata for storage in aTensorMap. While the computation itself is fast, the code for processing was inherited from (very) old versions of the CG code, and is slow and scales poorly withmax_angular. Profiling and redesign of this part of the code is required and, once faster, introduce a high default value formax_angular(~ 30 - 50) to make usage ofClebschGordanProductand wrapping classes more user friendly.