Difference between revisions of "Rspert.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(See also)
Line 40: Line 40:
  
 
==See also==
 
==See also==
[[Kernel_utilities#Numerical_infrastructure|Numerical infrastructure]]
+
[[vvpert.m]], [[Kernel_utilities#Numerical_infrastructure|Numerical infrastructure]]
  
  
''Version 2.5, authors: [[Ilya Kuprov]]''
+
''Version 2.6, authors: [[Ilya Kuprov]]''

Revision as of 14:18, 1 July 2021

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