optimized `operator` module
This merge request supercedes !27 (closed). The rewrite in Cython required some significant refactoring, to the point that looking at incremental diffs becomes more of a hinderance than a help.
A few comments with respect to the previous version:
- The
reduce
keyword has been reduced: the user can explicitly reduce if they want to, (this is a cheap operation)
The following need to be implemented before this is ready to be merged
-
Switch to pytest (possible now that we are rebased on master) -
Rename LocalObservable
to_LocalOperatorBase
and make it non-public. RenameCharge
toLocalOperator
. Rewrite docstrings to remove references to "observables" -
Remove SPARSE
operation and associated stubs, remove uneeded arguments from_operate
-
Refactor MatrixArray
intoBlockSparseMatrix
that contain: offset data, shape data, matrix value data. This will prevent us from re-calculating orbitals
closes #14 (closed).