Class freeModel#

Inheritance Relationships#

Base Type#

Class Documentation#

class freeModel : public fermionBasis#

Free-fermion reference model used for static thermodynamic benchmarks.

This model builds a non-interacting fermionic basis with charge and spin quantum numbers and diagonalizes the local Hamiltonian in each symmetry sector. It is useful as a reference when comparing with interacting models or computing entropy and specific-heat contributions in a noninteracting limit.

Public Functions

inline freeModel()#

Construct the free-fermion benchmark model.

Builds the fermion basis, identifies the conserved quantum numbers, and computes the diagonalized eigenvalues for each block.

inline std::vector<std::vector<int>> get_basis() const#

Return the list of quantum numbers for each symmetry sector.

Returns:

Vector of charge/spin sector labels.

inline std::vector<std::vector<double>> get_eigenvaluesQ() const#

Return the eigenvalues of the Hamiltonian in each sector.

Returns:

Block-diagonal eigenvalues associated with each quantum-number sector.

inline std::vector<double> get_chi_Q() const#

Return the fermionic parity factor for each sector.

Returns:

Vector of parity signs used in the fermionic sector structure.

Public Members

std::vector<std::vector<double>> eigenvalues_Q#

Eigenvalues in each symmetry block.

std::vector<double> chi_Q#

Fermionic parity sign for each block.

std::vector<std::vector<int>> n_Q#

Quantum numbers labeling each symmetry block.