HarmonicOscillatorMatrixGenerator
1D evaluator for terms looking like x, p, q, etc.
All of the overall (-i)^N info is in the ProdOp class that’s expected to hold this.
Only maintains phase info & calculates elements.
state_cache_size: int
default_evaluator_mode: str
__init__(self, terms, mode=None):
__repr__(self):
@classmethod
clear_cache(cls):
@classmethod
set_cache_size(cls, new_size):
@classmethod
load_cached(cls, terms):
@property
selection_rules(self):
__call__(self, states):
state_pair_hash(self, states):
pull_state_groups(self, states):
evaluate_state_terms(self, states, mode=None):
Evaluates terms coming from different state excitations. Doesn’t do any pre-filtering, since that’s expected to be in the caller.
states:Any:returns:_
load_generator(self, a, mode=None):
@classmethod
get_paths(cls, sizes, change):
@classmethod
get_path_poly(cls, path, parities=None):
poly_coeffs(self, delta, shift=0):
@classmethod
get_poly_coeffs(cls, terms, delta, shift=0):
@classmethod
poly_term_generator(cls, terms, delta, shift=0):
@classmethod
rho_term_generator(cls, a, N, sel):
Returns a function to be called on a quantum number to get the coefficient associated with exciting that mode by a quanta over
N steps w/ phase info coming from where the momenta-terms are.
a:AnyN:Anyi_phase:Anyis_complex:Anysel:Any:returns:_
@classmethod
rho(cls, phases, paths, ni):
phases:Anypaths:Anyni:Any:returns:_