What are the issues this pull addresses (issue numbers / links)?
Significanty improve performance of LOM by more than 3x:
allow using pre-computed s_remove and s_keep matrices
caching c_k, c_inv_k, l_inv_k
recorgnize code to remove duplicate computation, e.g., calling hamiltonian() twice...
disable check_validity on add_interaction()
vecotorize extract_energies() so all expensive computations happen as numy matrices manipulations and operations on said matrices which is much faster than nested functions and searches in loops.
Did you add tests to cover your changes (yes/no)?
Did you update the documentation accordingly (yes/no)?
What are the issues this pull addresses (issue numbers / links)?
Significanty improve performance of LOM by more than 3x:
Did you add tests to cover your changes (yes/no)?
Did you update the documentation accordingly (yes/no)?
yes
Did you read the CONTRIBUTING document (yes/no)?
yes
Summary
Details and comments