Releases: krivenko/pycommute
Releases · krivenko/pycommute
Release v0.7.1
Release v0.7.0
- 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 areLOperator(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 functionsloperator.n_fermion_sector_size()
andloperator.n_fermion_sector_basis_states()
. - New classes
loperator.NFermionMultiSectorView(R|C)
. These objects areLOperator(R|C)
-compatible views that represent state vectors defined in an N-fermion multisector. A multisector is a set of all basis states, which haveN_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 functionsloperator.n_fermion_multisector_size()
andloperator.n_fermion_multisector_basis_states()
. - New method
loperator.HilbertSpace.has_algebra()
. - New method
loperator.SpacePartition.find_connections()
.