Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

left eigenvectors

1,615 views
Skip to first unread message

Allan E. Strand

unread,
Jun 1, 1995, 3:00:00 AM6/1/95
to
Hi All,

Newbie mathematica user (and amateur math type) here...

I am a plant demographer and I often use matrix models to explore
population level processes. Currently, I am working on a problem
which requires calculation of both sets of eigenvectors (left and
right) for a numerical transition matrix. The functions Eigenvalues[]
and Eigenvectors[] return values that I expect. I am having trouble
finding the left eigenvectors however. Because the first left
eigenvector should satisfy the relationship: vA = lv (where v is the
eigenvector, A is the matrix of interest, and l is the first
eignevalue), I thought I could use Solve[v.A==l v,v] to find the
result. Apparently I was wrong based on the complaints I get from
Mathematica. How might I better specify this problem? Do I need to
specify the dimensions of v somehow before invoking Solve??

TIA

Allan Strand
Dept Biology
New Mexico State U.
Las Cruces, NM


Daniel Lichtblau

unread,
Jun 2, 1995, 3:00:00 AM6/2/95
to
In article <3qjama$b...@news0.cybernetics.net> ast...@nmsu.edu (Allan E.

Use Eigenvectors[Transpose[A]].
Solve complained because you had inexact NumberQ input and the system is
overdetermined.

Daniel Lichtblau, WRI

Arnd Roth

unread,
Jun 3, 1995, 3:00:00 AM6/3/95
to
In article <3qjama$b...@news0.cybernetics.net>
ast...@nmsu.edu (Allan E. Strand) writes:

> I am a plant demographer and I often use matrix models to explore
> population level processes. Currently, I am working on a problem
> which requires calculation of both sets of eigenvectors (left and
> right) for a numerical transition matrix. The functions Eigenvalues[]
> and Eigenvectors[] return values that I expect. I am having trouble
> finding the left eigenvectors however. Because the first left
> eigenvector should satisfy the relationship: vA = lv (where v is the
> eigenvector, A is the matrix of interest, and l is the first
> eignevalue), I thought I could use Solve[v.A==l v,v] to find the
> result. Apparently I was wrong based on the complaints I get from
> Mathematica. How might I better specify this problem? Do I need to
> specify the dimensions of v somehow before invoking Solve??

If m is your matrix, then you can get the left eigenvectors by
computing the right eigenvectors of the transpose of m:

v = Eigenvectors[Transpose[m]]

Sincerely,

Arnd Roth
Abteilung Zellphysiologie
Max-Planck-Institut fuer Medizinische Forschung
Postfach 10 38 20, D-69028 Heidelberg, Germany
http://sunny.mpimf-heidelberg.mpg.de/people/roth/ArndRoth.html


0 new messages