Class spinhalf#

Class Documentation#

class spinhalf#

Represents a single orbital with spin-up and spin-down operators.

This model can be used to construct the Single Impurity Anderson Model (SIAM). It includes methods to calculate eigenvalues, quantum numbers, and operators.

Public Functions

inline spinhalf(double teps, double tUint, double tmag = 0)#

Constructs the spinhalf model.

Parameters:
  • teps – Onsite energy of the SIAM.

  • tUint – Coulomb interaction energy of the SIAM.

  • tmag – Magnetic field of the SIAM (default is 0).

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

Returns the quantum numbers of the basis states.

Returns:

A vector of quantum numbers.

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

Returns the eigenvalues of the Hamiltonian.

Returns:

A vector of eigenvalues for each quantum number block.

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

Returns the fermion sign for each basis state.

Returns:

A vector of fermion signs.

inline auto getDoubleOcc() const#

Returns the double occupancy operator.

This operator is useful for static or dynamic calculations.

Returns:

A vector of qOperator objects representing double occupancy.

Public Members

std::vector<qOperator> f_dag_operator#

\( f^\dagger\) operator

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

Eigenvalues of the Hamiltonian.

std::vector<double> chi_Q#

Fermion sign of the each basis states. \( (-1)^ {n_{particle}}\).

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

Quantum numbers of the basis states.

std::vector<qOperator> doubleOccupancy#