File:Arnoldi.f: Difference between revisions

From openpipeflow.org
Jump to navigation Jump to search
(For calculating the eigenvalues of a matrix.)
 
No edit summary
Line 1: Line 1:
For calculating the eigenvalues of a matrix.
{{latexPreamble}}
 
== The Arnoldi Method ==
 
The Arnoldi method is a method for calculating the eigenvalues and eigenvectors of a matrix, i.e. for calculating the scalar $\sigma$ and $n$-vectors $\vec{x}$ that satisfy
\[
  \sigma\,A = A\,\vec{x}
\]
for a given $n\times n$ matrix $A$.
 
The main advantage of the method is that it only requires calculations of multiplies by $A$ for a given $\vec{x}$ -- it does not need to know $A$ itself.  This means that $A$ need not even be stored, and could correspond to a very complex linear 'action' on $\vec{x}$, e.g. a time integral with initial condition $x$.
 
The method finds the largest eigenvalues and those most separated in the complex plane first.  If $A$ is expected to have many negative eigenvalues of little interest, it may be better to work with $\tilde{A}=\mathrm{e}^A=1+A+\frac{1}{2}A^2+...$, which has no effect on the eigenvectors but exponentiates the eigenvalues, $\tilde{\sigma}=\mathrm{e}^\sigma$.  The negative eigenvalues then correspond to bunched eigenvalues close to the origin.  The Arnoldi method then favours the largest $|\tilde{\sigma}|$, being the $\sigma$ with largest real parts.

Revision as of 02:32, 13 December 2016

$ \renewcommand{\vec}[1]{ {\bf #1} } \newcommand{\bnabla}{ \vec{\nabla} } \newcommand{\Rey}{Re} \def\vechat#1{ \hat{ \vec{#1} } } \def\mat#1{#1} $

The Arnoldi Method

The Arnoldi method is a method for calculating the eigenvalues and eigenvectors of a matrix, i.e. for calculating the scalar $\sigma$ and $n$-vectors $\vec{x}$ that satisfy \[

  \sigma\,A = A\,\vec{x}

\] for a given $n\times n$ matrix $A$.

The main advantage of the method is that it only requires calculations of multiplies by $A$ for a given $\vec{x}$ -- it does not need to know $A$ itself. This means that $A$ need not even be stored, and could correspond to a very complex linear 'action' on $\vec{x}$, e.g. a time integral with initial condition $x$.

The method finds the largest eigenvalues and those most separated in the complex plane first. If $A$ is expected to have many negative eigenvalues of little interest, it may be better to work with $\tilde{A}=\mathrm{e}^A=1+A+\frac{1}{2}A^2+...$, which has no effect on the eigenvectors but exponentiates the eigenvalues, $\tilde{\sigma}=\mathrm{e}^\sigma$. The negative eigenvalues then correspond to bunched eigenvalues close to the origin. The Arnoldi method then favours the largest $|\tilde{\sigma}|$, being the $\sigma$ with largest real parts.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeDimensionsUserComment
current02:06, 13 December 2016 (8 KB)Apwillis (talk | contribs)For calculating the eigenvalues of a matrix.

The following 3 pages use this file: