BasisMultiStateSpace
Represents a collection of BasisStateSpace objects.
This is commonly generated by application of selection rules to a standard BasisStateSpace.
Each of these state spaces is nominally independent of the rest, allowing for combinatorial
efficiency later down the line.
__init__(self, spaces):
spaces:Iterablearray of
BasisStateSpaceobjectsselection_rules:np.ndarrayarray of rules used to generate the subspace
get_space(self, item):
Just a way to index the space but with type checking
item:Any:returns:BasisStateSpace
map(self, f):
to_state(self, serializer=None):
@classmethod
from_state(cls, data, serializer=None):
@property
representative_space(self):
@property
basis(self):
@property
full_basis(self):
@property
ndim(self):
__iter__(self):
@property
flat(self):
get_mode(self):
as_indices(self):
Pulls the full set of indices out of all of the held spaces and returns them as a flat vector
:returns:_
as_excitations(self):
Pulls the full set excitations out of all of the held spaces and returns them as a flat vector
:returns:_
check_indices(self):
to_single(self, track_excitations=True, track_indices=True):
Condenses the multi state space down to a single BasisStateSpace
:returns:_
take_states(self, states, track_excitations=True, track_indices=True):
Takes the intersection of each held space and the specified states
states:Any:returns:_
take_subspace(self, sel, track_excitations=True, track_indices=True):
Takes the specified states, making sure each held space
only contains states in sel
sel:Any:returns:_
take_subdimensions(self, inds):
Takes the subdimensions from each space
inds:Any:returns:_
drop_states(self, states):
Take the difference of each held space and the specified states
states:Any:returns:_
drop_subspace(self, sel):
Takes the specified states, making sure each held space
only contains states in sel
sel:Any:returns:_
drop_subdimensions(self, inds):
Takes the subdimensions from each space
inds:Any:returns:_
__repr__(self):
__getitem__(self, item):
get_representation_indices(self, freqs=None, freq_threshold=None, other=None, selection_rules=None, return_filter=False):
Generates a set of indices that can be fed into a Representation to provide a sub-representation
in this state space.
Basically just takes all pairs of indices.
:returns:_
get_representation_brakets(self, freqs=None, freq_threshold=None, other=None, selection_rules=None, filter=None, return_filter=False):