For regular CI-theory, the creation/annihilation operators are arrays with just a single non-zero entry, with value "1" xor "-1", and hence they merely select a certain matrix element from the 1-and 2body SO Hamiltonian (up to a sign). In particular, for these theories, the tracing with 2-body SO Hamiltonian is very inefficient. Instead, the creation/annihilation can be stored as a single entry indexing the SO-orbital of interest, and be used to sub-index that particular orbital. In this formalism the CI Hamiltonian becomes: