Source code for meanfi.observables

import numpy as np

from meanfi.tb.tb import _tb_type


[docs] def expectation_value(density_matrix: _tb_type, observable: _tb_type) -> complex: """Compute the expectation value of an observable with respect to a density matrix. Parameters ---------- density_matrix : Density matrix tight-binding dictionary. observable : Observable tight-binding dictionary. Returns ------- : Expectation value. """ return np.sum( [ np.trace(observable[k] @ density_matrix[tuple(-np.array(k))]) for k in frozenset(density_matrix) & frozenset(observable) ] )