SimpleProductBasis
Defines a direct product basis from a 1D basis. Mixed product bases aren’t currently supported, but this provides at least a sample for how that kind of things could be generated.
array_indexer_cutoff: int
__init__(self, basis_type, n_quanta, indexer=None):
basis_type:typethe type of basis to do a product over
n_quanta:Iterable[int]the number of quanta for the representations
indexer:BaseStateIndexeran object that can turn state specs into indices and indices into state specs
to_state(self, serializer=None):
@classmethod
from_state(cls, data, serializer=None):
@property
ndim(self):
Provides the number of dimensions of the basis
:returns:_
@property
dimensions(self):
Provides the dimensions of the basis
:returns:_
__eq__(self, other):
other:SimpleProductBasis:returns:_
@property
quanta(self):
Provides the quanta in each dimension of the basis
:returns:_
@property
selection_rules_mapping(self):
ravel_state_inds(self, idx):
Converts state indices from an array of quanta to an array of indices
idx:Iterable[Iterable[int]]indices
:returns:tuple[int]a r r a y
o f
s t a t e
i n d i c e s
i n
t h e
b a s i s
unravel_state_inds(self, idx):
Converts state indices from an array of ints to an array of quanta
idx:Iterable[int]indices
:returns:tuple[tuple[int]]a r r a y
o f
s t a t e
t u p l e s
i n
t h e
b a s i s
get_function(self, idx):
operator(self, *terms, coeffs=None, axes=None, parallelizer=None, logger=None, chunk_size=None, **operator_settings):
Builds an operator based on supplied terms, remapping names where possible.
If coeffs or axes are supplied, a ContractedOperator is built.
terms:Anycoeffs:Anyaxes:Any:returns:_
representation(self, *terms, coeffs=None, name=None, axes=None, logger=None, parallelizer=None, chunk_size=None, memory_constrained=False, **operator_settings):
Provides a representation of a product operator specified by terms.
If coeffs or axes are supplied, a ContractedOperator is built.
terms:Any:returns:_
x(self, n):
Returns the representation of x in the multi-dimensional basis with every term evaluated up to n quanta Whether this is what we want or not is still TBD
n:Any:returns:_
p(self, n):
Returns the representation of p in the multi-dimensional basis with every term evaluated up to n quanta Whether this is what we want or not is still TBD
n:Any:returns:_
take_subdimensions(self, dims):
Casts down to lower dimensional space
dims:Any:returns:_
get_state_space(self, quanta):