Introduce an Op_T Container
In preparation for a possible OP_V container introduce an Op_T Container. In that turn we can introduce the mscb decomposition and maybe higher order checkerboard decompositions. In the future it seems likely that during the set up phase it might be required to have containers that can grow. Let's test this with the Op_T array since it might turn out useful for the cb decomposition. What we need to Do:
-
Introduce a C++ vector-like type for Op_T -
Figure out the interaction with the parameters of the Hamiltonian like N_Fl, N_SUN -
Define a Class hierarchy so that objects conforming to an interface can be used in the container. That way we can mix dense matrix type, new sparse matrix types and the exponential types from the CB decomposition. -
Check whether we can get rid of the wasteful complex matrix multiplications via that mechanism. -
Implement and test a class for dense matrices. benchmark the virtualization penalty -
Include mscbdecomp https://git.physik.uni-wuerzburg.de/fgoth/mscbdecomp -
Provide an example -
Higher order checkerboard decompositions?
Edited by Florian Goth