triqs.atom_diag.atom_diag.act
- triqs.atom_diag.atom_diag.act()
Dispatched C++ function(s).
[1] (op: Operator, st: ndarray[float, 1], atom: AtomDiagReal) -> ndarray[float, 1] [2] (op: Operator, st: ndarray[complex, 1], atom: AtomDiagComplex) -> ndarray[complex, 1]
Act with a many-body operator on a state vector, \(|\psi'\rangle = \hat O\, |\psi\rangle\).
Both the input and the output state are vectors in the full Hilbert space expressed in the eigenbasis of the Hamiltonian. The operator is converted internally into its block-matrix representation in the eigenbasis before being applied to the state. Block-wise, for every source subspace \(B\) with target subspace \(B'\),
\[\psi'_{B'} \mathrel{+}= O_{B' \leftarrow B}\, \psi_{B}.\]- Parameters:
- opOperator, Operator
Many-body operator to apply.
- stndarray[float, 1], ndarray[complex, 1]
Input state vector in the full Hilbert space, expressed in the eigenbasis of the Hamiltonian.
- atomAtomDiagReal, AtomDiagComplex
Solved diagonalization problem providing the eigenbasis.
- Returns:
- [1]ndarray[float, 1]
Output state vector in the full Hilbert space, expressed in the eigenbasis of the Hamiltonian.
- [2]ndarray[complex, 1]
Output state vector in the full Hilbert space, expressed in the eigenbasis of the Hamiltonian.