Skip to content

Release v0.7.0

Compare
Choose a tag to compare
@krivenko krivenko released this 21 Oct 10:53
· 41 commits to master since this release
  • New function loperator.make_matrix() with three overloads. These wrapped C++ functions construct and return a matrix representation (2D NumPy array) of a linear operator acting (1) in a full Hilbert space, (2) in its subspace spanned by a given list of basis vectors or (3) between two subspaces of the Hilbert space.
  • New classes loperator.NFermionSectorView(R|C). These objects are LOperator(R|C)-compatible views that represent state vectors defined in an N-fermion subspace of a full Hilbert space. In addition to the view classes, there are two new utility functions loperator.n_fermion_sector_size() and loperator.n_fermion_sector_basis_states().
  • New classes loperator.NFermionMultiSectorView(R|C). These objects are LOperator(R|C)-compatible views that represent state vectors defined in an N-fermion multisector. A multisector is a set of all basis states, which have N_1 particles within a subset of fermionic modes {S_1}, N_2 particles within another subset {S_2} and so on. There can be any number of individual pairs ({S_i}, N_i) (sectors contributing to the multisector) as long as all subsets {S_i} are disjoint. In addition to the view classes, there are two new utility functions loperator.n_fermion_multisector_size() and loperator.n_fermion_multisector_basis_states().
  • New method loperator.HilbertSpace.has_algebra().
  • New method loperator.SpacePartition.find_connections().