degenerate_decouple
- sisl.physics.degenerate_decouple(state, M)
Return vec decoupled via matrix M
The decoupling algorithm is this recursive algorithm starting from \(i=0\):
\[\begin{split}\mathbf p &= \mathbf V^\dagger \mathbf M_i \mathbf V \\ \mathbf p \mathbf u &= \boldsymbol \lambda \mathbf u \\ \mathbf V &= \mathbf u^T \mathbf V\end{split}\]- Parameters:
state (
numpy.ndarray
orState
) – states to be decoupled on matrices M The states must have C-ordering, i.e.[0, ...]
is the first state.M (
numpy.ndarray
) – matrix to project to before disentangling the states