# Physical quantites

Physical quantities such as Hamiltonian and density matrices are representated through specific classes enabling various handlings.

## Spin

 `Spin`([kind, dtype]) Spin class to determine configurations and spin components.

## Matrices

 `EnergyDensityMatrix`(geometry[, dim, dtype, ...]) Sparse energy density matrix object `DensityMatrix`(geometry[, dim, dtype, nnzpr]) Sparse density matrix object `Hamiltonian`(geometry[, dim, dtype, nnzpr]) Sparse Hamiltonian matrix object `DynamicalMatrix`(geometry[, dim, dtype, nnzpr]) Dynamical matrix of a geometry `Overlap`(geometry[, dim, dtype, nnzpr]) Sparse overlap matrix object

## Self energies

Self-energies are specific physical quantities that enables integrating out semi-infinite regions.

 `SelfEnergy`(*args, **kwargs) Self-energy object able to calculate the dense self-energy for a given sparse matrix `WideBandSE`(spgeom, eta) Self-energy object with a wide-band electronic structure `SemiInfinite`(spgeom, infinite[, eta]) Self-energy object able to calculate the dense self-energy for a given SparseGeometry in a semi-infinite chain. `RecursiveSI`(spgeom, infinite[, eta]) Self-energy object using the Lopez-Sancho Lopez-Sancho algorithm `RealSpaceSE`(parent, semi_axis, k_axes[, unfold]) Bulk real-space self-energy (or Green function) for a given physical object with periodicity `RealSpaceSI`(semi, surface, k_axes[, unfold]) Surface real-space self-energy (or Green function) for a given physical object with limited periodicity

## Bloch’s theorem

Bloch’s theorem is a very powerful proceduce that enables one to utilize the periodicity of a given direction to describe the complete system.

 `Bloch`(*bloch) Bloch's theorem object containing unfolding factors and unfolding algorithms