Open edvinolo opened 7 months ago
The sparse-input branch has changes to read the input matrices in COO format instead of dense.
I also have a local branch where I use COO instead of LIL when building the H_FL and only build the upper triangular part. The assembly speed is much improved from my tests (order of magnitude). Will have to change so that the H_FL matvec can be done by the class_Floquet instance, without it doing factorization, since I don't store the lower triangular part of H_FL in that case.
Currently, the Hamiltonian and the dipole matrices are read in a dense format, converted to LIL in cis_Floquet, and then converted to CSC in the class_Floquet initialization. Since the matrices don't change when changing omega and intensity, it would probably be better to do the conversion dense -> LIL -> CSC only once, and then feed the CSC matrices to cis_Floquet and then class_Floquet.