Class spinnlessTwoLead#
Defined in File spinlessTwoLead.hpp
Class Documentation#
-
class spinnlessTwoLead#
Represents a spinless two-lead model.
This class models a system with one spinless orbital coupled to two leads. It is a simplified model often used to study transport properties in quantum dots. The model only conserves charge.
The constructor builds the fermion basis, sets up operators, and diagonalizes the local Hamiltonian for each charge sector.
Public Functions
-
inline explicit spinnlessTwoLead(double teps = 0)#
Constructs a spinnlessTwoLead object.
Initializes the basis and operators for a spinless two-lead model.
- Parameters:
teps – The onsite energy of the orbital.
-
inline std::vector<std::vector<int>> get_basis() const#
Get the basis quantum numbers for all eigenstates.
Returns the sector basis
n_Qas a list of charge vectors. For spinnlessTwoLead, each inner vector corresponds to a unique charge configuration used by the fermionBasis blocking.- Returns:
A vector of vectors, where each inner vector represents the quantum numbers of a state.
-
inline std::vector<std::vector<double>> get_eigenvaluesQ() const#
Get the ground state energy for each quantum number sector.
Returns eigenvalues of the local Hamiltonian for each
n_Qsector. The outer vector index matches the Q sector fromget_basis().- Returns:
A vector of vectors, where each inner vector contains the eigenvalues for a quantum number sector.
-
inline std::vector<double> get_chi_Q() const#
Get the fermion parity factor for each quantum number sector.
Returns (-1)^N for each sector, where N is the total particle number.
- Returns:
A vector of doubles, where each element is the fermion parity sign for a quantum number sector.
Public Members
-
std::vector<qOperator> f_dag_operator#
Fermion creation operators f† in the quantum-number block basis.
-
std::vector<std::vector<double>> eigenvalues_Q#
Eigenvalues of the Hamiltonian in each quantum number sector.
-
std::vector<double> chi_Q#
Fermion parity sign for each basis quantum number sector.
-
std::vector<std::vector<int>> n_Q#
Quantum numbers labeling each Hamiltonian block.
-
inline explicit spinnlessTwoLead(double teps = 0)#