triqs.atom_diag.atom_diag

Exact diagonalization of finite fermionic Hamiltonians.

This module exposes a lightweight exact diagonalization solver for the atomic (local) problem of a quantum impurity, together with helpers that build derived quantities from a solved eigensystem. The main classes are:

  • AtomDiagReal and AtomDiagComplex: hold the block-diagonal Hamiltonian, its eigensystem, and the matrix representations of the fundamental creation/annihilation operators in the eigenbasis. The AtomDiag() factory dispatches between the real and complex variant based on the Hamiltonian.

A second group of free functions takes a solved AtomDiagReal / AtomDiagComplex and produces derived quantities: thermodynamic averages (partition_function(), atomic_density_matrix(), trace_rho_op()), application of an operator to a state (act()), tabulation of conserved-quantity eigenvalues (quantum_number_eigenvalues(), quantum_number_eigenvalues_checked()), and the atomic Green’s function on different meshes (atomic_g_tau(), atomic_g_iw(), atomic_g_l(), atomic_g_w()).

Functions

act

Act with a many-body operator on a state vector, \(|\psi'\rangle = \hat O\, |\psi\rangle\).

atomic_density_matrix

Compute the atomic density matrix at inverse temperature \(\beta\).

atomic_g_iw

Build the atomic Matsubara Green's function directly from a solved diagonalization problem.

atomic_g_l

Build the atomic Green's function in the Legendre basis directly from a solved diagonalization problem.

atomic_g_tau

Build the atomic imaginary-time Green's function directly from a solved diagonalization problem.

atomic_g_w

Build the atomic retarded Green's function on a real-frequency mesh directly from a solved

partition_function

Compute the atomic partition function at inverse temperature \(\beta\).

quantum_number_eigenvalues

Tabulate the eigenvalues \(q_{B,i} = \langle B,i\,|\,\hat Q\,|\,B,i\rangle\) of a quantum-number

quantum_number_eigenvalues_checked

Tabulate the eigenvalues \(q_{B,i}\) of a quantum-number operator \(\hat Q\), also checking that

trace_rho_op

Compute the trace of a many-body operator weighted by a block-diagonal density matrix.

Classes

AtomDiagComplex

Lightweight exact diagonalization solver for finite fermionic Hamiltonians.

AtomDiagReal

Lightweight exact diagonalization solver for finite fermionic Hamiltonians.