TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
triqs::atom_diag::atom_diag< Complex >::eigensystem_t

#include <triqs/atom_diag/atom_diag.hpp>

Detailed Description

template<bool Complex>
struct triqs::atom_diag::atom_diag< Complex >::eigensystem_t

Eigensystem of a single invariant subspace of the Hamiltonian \( H_B \).

Holds the eigenvalues \( E_B \) (with the global ground-state energy subtracted, so that the smallest eigenvalue across all subspaces is zero) and the unitary matrix \( U_B \) that maps the Fock basis of the subspace to the eigenbasis.

Definition at line 118 of file atom_diag.hpp.

Public Member Functions

bool operator== (eigensystem_t const &) const =default
 Default equal-to operator compares the eigenvalues and unitary matrix.

Static Public Member Functions

static std::string hdf5_format ()
 Get the HDF5 format tag.

Public Attributes

vector< double > eigenvalues
 Eigenvalues \( E_B \) sorted in ascending order.
matrix_t unitary_matrix
 Unitary matrix \( U_B \) mapping the Fock basis to the eigenbasis.

Friends

void h5_read (h5::group g, std::string const &name, eigensystem_t &es)
 Read an eigensystem from HDF5.
void h5_write (h5::group g, std::string const &name, eigensystem_t const &es)
 Write an eigensystem to HDF5.
void mpi_broadcast (eigensystem_t &es, mpi::communicator c={}, int root=0)
 Broadcast an eigensystem to all ranks of an MPI communicator.

◆ h5_read

template<bool Complex>
void h5_read ( h5::group g,
std::string const & name,
eigensystem_t & es )
friend

Read an eigensystem from HDF5.

Parameters
gHDF5 group to read from.
nameName of the subgroup containing the eigensystem.
esEigensystem to read into.

Definition at line 163 of file atom_diag.hpp.

◆ h5_write

template<bool Complex>
void h5_write ( h5::group g,
std::string const & name,
eigensystem_t const & es )
friend

Write an eigensystem to HDF5.

Parameters
gHDF5 group to write into.
nameName of the subgroup to create.
esEigensystem to write.

Definition at line 150 of file atom_diag.hpp.

◆ mpi_broadcast

template<bool Complex>
void mpi_broadcast ( eigensystem_t & es,
mpi::communicator c = {},
int root = 0 )
friend

Broadcast an eigensystem to all ranks of an MPI communicator.

Parameters
esEigensystem to broadcast.
cMPI communicator.
rootRank holding the source eigensystem.

Definition at line 135 of file atom_diag.hpp.


The documentation for this struct was generated from the following file: