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: Any
  • N: Any
  • i_phase: Any
  • is_complex: Any
  • sel: Any
  • :returns: _

 

@classmethod
rho(cls, phases, paths, ni): 
  • phases: Any
  • paths: Any
  • ni: Any
  • :returns: _

Feedback

Examples

Templates

Documentation