triqs.atom_diag.atom_diag.AtomDiagReal
-
class
triqs.atom_diag.atom_diag.
AtomDiagReal
Lightweight exact diagonalization solver (Real)
Use the QR algorithm to diagonalize the Hamiltonian. Auto-partitions the Hamiltonian into subspaces (blocks) such that all creation and annihilation operators map one subspace to exactly one other subspace.
Parameters: - h (Operator (Real)) – Hamiltonian to be diagonalized.
- fops (list of tuple of strings and ints) – List of all annihilation / creation operator flavors (indices). Must at least contain all flavors met in h.
- qn_vector (list of Operator (Real), optional) – Vector of quantum number operators to be used for the auto-partitioning
- n_min (integers, optional) – Truncate the Fock-space to states with particle number in [n_min, n_max] Cannot be combined with qn_vector
- n_max (integers, optional) – Truncate the Fock-space to states with particle number in [n_min, n_max] Cannot be combined with qn_vector
Methods
__init__ (*args, **kwargs) |
|
c_connection |
Signature : (int op_linear_index, int sp_index) -> int Subspace-to-subspace connections for fundamental operator C_{op_linear_index} (returns final subspace for initial subspace sp_index) |
c_matrix |
Signature : (int op_linear_index, int sp_index) -> matrix<triqs::atom_diag::atom_diag<false>::scalar_t> Matrix block for fundamental operator C_{op_linear_index} (sp_index is index of the initial subspace) |
cdag_connection |
Signature : (int op_linear_index, int sp_index) -> int Subspace-to-subspace connections for fundamental operator C^dagger_{op_linear_index} (returns final subspace for initial subspace sp_index) |
cdag_matrix |
Signature : (int op_linear_index, int sp_index) -> matrix<triqs::atom_diag::atom_diag<false>::scalar_t> Matrix block for fundamental operator C^dagger_{op_linear_index} (sp_index is index of the initial subspace) |
flatten_subspace_index |
Signature : (int sp_index, int i) -> int Returns the state index in the full Hilbert space given a subspace index and an inner index |
get_eigenvalue |
Signature : (int sp_index, int i) -> float Get the i-th eigenvalue of subspace sp_index |
get_subspace_dim |
Signature : (int sp_index) -> int The dimension of subspace sp_index |
get_subspace_dims |
Signature : () -> list[int] Get the dimension of all subspaces |
Attributes
energies |
A vector of all the energies, grouped by subspace |
fock_states |
The list of Fock states for each subspace |
fops |
The fundamental operator set used at construction |
full_hilbert_space_dim |
Dimension of the full Hilbert space |
gs_energy |
Ground state energy (i.e. |
h_atomic |
The Hamiltonian used at construction |
n_subspaces |
Number of invariant subspaces |
quantum_numbers |
A vector of all the quantum numbers, grouped by subspace |
unitary_matrices |
Unitary matrices that transform from Fock states to eigenstates |
vacuum_state |
Returns the vacuum state as a vector in the full Hilbert space |
vacuum_subspace_index |
Returns invariant subspace containing the vacuum state |