supergrad.quantum_system.InteractingSystem

supergrad.quantum_system.InteractingSystem#

class supergrad.quantum_system.InteractingSystem(subsystem_list: List[QuantumSystem], interaction_list: List[InteractionTerm] = None, name='hilbert_space')[source]#

Class holding information about the whole system.

Parameters:
  • subsystem_list (list) – list of QuantumSystem.

  • interaction_list – list of InteractionTerm, one can use parse_interaction to construct InteractionTerm easily.

  • name – module name

__init__(subsystem_list: List[QuantumSystem], interaction_list: List[InteractionTerm] | None = None, name='hilbert_space') None[source]#

Methods

__init__(subsystem_list[, interaction_list, ...])

compute_energy_map([greedy_assign, ...])

Compute the energy of the whole system in the dressed indices, enumerating eigenenergies and eigenstates as j=0,1,2,.

compute_transform_matrix()

Computes the matrices related to basis transformation.

coupling_hamiltonian()

Returns the interaction Hamiltonian, based on the interaction terms specified for the current InteractingSystem object.

eigenenergies([evals_count])

Returns array of eigenvalues.

idling_hamiltonian()

Generate hamiltonian in the product basis.

idling_hamiltonian_in_prod_basis()

Generate hamiltonian in the product basis.

params_dict()

Returns parameters keyed by name for this module and submodules.

state_dict()

Returns state keyed by name for this module and submodules.

subsystem_hamiltonian()

Calculate bare hamiltonian.

transform_operator(operator, **kwargs)

Transform operator to current eigenbasis and truncated eigenbasis.

Attributes

dim

Return Hilbert Space dimension.

subsystem_count

Returns number of subsys_list composing the joint Hilbert space

subsystem_list

truncated_dim

Return the dimension for truncated eigen basis.