gftool.matrix.Decomposition

class gftool.matrix.Decomposition(rv, xi, rv_inv)[source]

Decomposition of a Matrix into eigenvalues and eigenvectors.

This class holds the eigenvalues and eigenvectors of the decomposition of a matrix and offers methods to reconstruct it. The intended use case is to use the Decomposition for the inversion of the Green’s function to calculate it from the resolvent.

The order of the attributes is always rv, xi, rv_inv, as this gives the reconstruct of the matrix: mat = (rv * xi) @ rv_inv

Attributes:
rv : (…, N, N) complex np.ndarray

The matrix of right eigenvalues.

xi : (…, N) complex np.ndarray

The vector of eigenvalues.

rv_inv : (…, N, N) complex np.ndarray

The inverse of rv.

__init__(rv, xi, rv_inv)[source]

Assign the attributes obtained from a matrix digitalization.

Parameters:
rv : (…, N, N) complex np.ndarray

The matrix of right eigenvectors.

xi : (…, N) complex np.ndarray

The vector of eigenvalues

rv_inv : (…, N, N) complex np.ndarray

The inverse of rv.

Methods

__init__(rv, xi, rv_inv) Assign the attributes obtained from a matrix digitalization.
count(value)
from_gf(gf) Decompose the inverse Green’s function matrix.
from_hamiltonian(hamilton) Decompose the Hamiltonian matrix.
index(value, [start, [stop]]) Raises ValueError if the value is not present.
reconstruct([xi, kind]) Get matrix back from Decomposition.

Attributes

rv
rv_inv
xi