Skip to content

optimized `operator` module

Joseph Weston requested to merge jbweston/kwant:feature/operator into master

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. Rename Charge to LocalOperator. Rewrite docstrings to remove references to "observables"
  • Remove SPARSE operation and associated stubs, remove uneeded arguments from _operate
  • Refactor MatrixArray into BlockSparseMatrix that contain: offset data, shape data, matrix value data. This will prevent us from re-calculating orbitals

closes #14 (closed).

Merge request reports