Skip to content

Releases: krivenko/pycommute

Release v0.7.1

17 Dec 12:52
Compare
Choose a tag to compare
  • Enable support for Python 3.10.
  • New methods loperator.SpacePartition.subspace_basis() and loperator.SpacePartition.subspace_bases().
  • Minor documentation updates.

Release v0.7.0

21 Oct 10:53
Compare
Choose a tag to compare
  • 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().