rspert.m

From Spinach Documentation Wiki
Jump to: navigation, search

Rayleigh-Schrodinger perturbation theory to arbitrary order, Eqs 2.21-2.23 from Stefan Stoll's PhD thesis, with the typo fixed in the numerator of Eq 2.21.

Syntax

    [E,V]=rspert(E0,H1,order)

Arguments

    E0    - eigenvalues of H0, a column vector of real 
            numbers

    H1    - perturbation, written in the basis that di-
            agonalises H0

    order - order of perturbation theory to be used, 6
            is the sensible maximum

Outputs

    E     - eigenvalues of H0+H1 to the specified order
            in perturbation theory, a vector of reals 

    V     - normalised eigenvectors of H0+H1 to the spe-
            cified order in perturbation theory, a squa-
            re unitary matrix with eigenvectors in cols
            in the same order as the eigenvalues in E

Examples

Below is the output of examples/fundamentals/perturb_theory.m example file.

Rspert.png

Notes

  1. There must be no degeneracies in H0.
  2. H1 must be Hermitian.
  3. The theory only converges when H1 << H0 in 2-norm.
  4. Numerical artefacts appear beyond sixth order.
  5. Complexity is linear in the order and cubic in matrix dimension.

See also

vvpert.m, Numerical infrastructure


Version 2.6, authors: Ilya Kuprov