Eigenvectors and eigenvalues
2015-01-21 08:54
609 查看
http://setosa.io/ev/eigenvectors-and-eigenvalues/
Tweet
By Victor Powell and Lewis Lehe
Eigenvalues/vectors are instrumental to understanding electrical circuits, mechanical systems, ecology and even Google's PageRank algorithm.
Let's see if visualization can make these ideas more intuitive.
To begin, let v be
a 2-dimensional vector (shown as a point) and A be
a matrix with columns a1 and a2 (shown
as arrows). If we multiply v by A,
then A sends v to
a new vector Av.
012345012345xyva₁a₂Αv
Α
=
a₁,x
1.00
a₂,x
0.50
a₁,y
0.50
a₂,y
1.00
=
1.00
0.50
0.50
1.00
v
=
2.00
v, x
3.00
v, y
Αv
=
3.50
v, x
4.00
v, y
If you can draw a line through (0,0), v and Av,
then Av is
just v multiplied
by a number λ;
that is, Av=λv.
In this case, we call λ an eigenvalue and v an eigenvector.
For example, here (1,2) is
an eigvector and 5 an
eigenvalue.
Av=(1821)⋅(12)=5(12)=λv.
Below, change the bases of A and
drag v to
be its eigenvector. Note two facts: First, every point on the same line as an eigenvector is another eigenvector. That line is an eigenspace. Second, when λ<1, Av is
closer to (0,0) than v;
and when λ>1,
it's farther away.
012345012345xyva₁a₂Αvλ₁ = 1.5λ₂ = 0.5s₁s₂
Eigenvalues/vectors explain the behavior of systems that evolve step-by-step, where each step occurs as multiplication by a matrix A.
If you keep multiplying v by A,
you get a sequence v,Av,A2v, etc.
As you can see below, eigenspaces attract this sequence and draw it toward (0,0) or
farther away, depending on their eigenvalues.
02004006008001,00002004006008001,000xyvΑvΑ²va₁a₂λ₁ = 1.1λ₂ = 0.5s₁s₂
Let's explore some applications and properties of these sequences.
Suppose you have some amoebas in a petri dish. Every minute, all adult amoebas produce one child amoeba, and all child amoebas grow into adults (Note: this is not really how amoebas reproduce.). So if t is
a minute, the equation of this system is
adultst+1childrent+1==adultst+childrentadultst
which we can rewrite in matrix form like
vt+1(adultst+1childrent+1)==A(1110)⋅⋅vt(adultstchildrent)
Below, press "Forward" to step ahead a minute. The total population is the Fibonacci Sequence.
childrenadults
012012v₀childrenadults
reset
forward
1 child + 0 adults = 11123581321345589144233
As you can see, the system goes toward the grey line, which is an eigenspace with λ=(1+5√)/2>1.
Suppose that, every year, a fraction p of
New Yorkers move to California and a fraction q of
Californians move to New York. Drag the circles to decide these fractions and the number starting in each state.
New YorkCalifornia1 − p = 0.7p = 0.3q = 0.11 − q = 0.938.33m19.65m
To understand the system better, we can start by writing it in matrix terms like:
vt+1(New
Yorkt+1Californiat+1)==Avt(1−pqp1−q)⋅(New
YorktCaliforniat)
It turns out that a matrix like A,
whose rows add up to zero (try it!), is called a Markov matrix, and it always has λ=1 as
an eigenvalue. That means there's a value of vt for
which Avt=λvt=1vt=vt.
At this "steady state," the same number of people move in each direction, and the populations stay the same forever. Hover over the animation to see the system go to the steady state.
90% stay70% stayHover over to play/restart0m10m20m30m40m50m0m10m20m30m40m50mCaliforniaNew Yorkv₀
who's to say λand v can't
have some imaginary part? That it can't be a complex number? For example,
(1−111)⋅(1i)=(1+i)⋅(1i).
Here, 1+i is
an eigenvalue and (1,i) is
an eigenvector.
If a matrix has complex eigenvalues, its sequence spirals around (0,0).
To see this, drag A's
columns (the arrows) around until you get a spiral. The eigenvalues are plotted in the real/imaginary plane to the right. You'll see that whenever the eigenvalues have an imaginary part, the system spirals, no matter where you start things off.
steps: -3-2-1123-3-2-1123-33-33-33-33realimrealimλ₀λ₁
We've really only scratched the surface of what linear algebra is all about. To learn more, check out the legendary Gilbert Strang's Linear
Algebra course at MIT's Open Courseware site. To get more practice with applications of eigenvalues/vectors, also ceck out the excellent Differential
Equations course.
For more explanations, visit the Explained Visually project homepage.
Or subscribe to our mailing list
Explained Visually
TweetBy Victor Powell and Lewis Lehe
Eigenvalues/vectors are instrumental to understanding electrical circuits, mechanical systems, ecology and even Google's PageRank algorithm.
Let's see if visualization can make these ideas more intuitive.
To begin, let v be
a 2-dimensional vector (shown as a point) and A be
a matrix with columns a1 and a2 (shown
as arrows). If we multiply v by A,
then A sends v to
a new vector Av.
012345012345xyva₁a₂Αv
Α
=
a₁,x
1.00
a₂,x
0.50
a₁,y
0.50
a₂,y
1.00
=
1.00
0.50
0.50
1.00
v
=
2.00
v, x
3.00
v, y
Αv
=
3.50
v, x
4.00
v, y
If you can draw a line through (0,0), v and Av,
then Av is
just v multiplied
by a number λ;
that is, Av=λv.
In this case, we call λ an eigenvalue and v an eigenvector.
For example, here (1,2) is
an eigvector and 5 an
eigenvalue.
Av=(1821)⋅(12)=5(12)=λv.
Below, change the bases of A and
drag v to
be its eigenvector. Note two facts: First, every point on the same line as an eigenvector is another eigenvector. That line is an eigenspace. Second, when λ<1, Av is
closer to (0,0) than v;
and when λ>1,
it's farther away.
012345012345xyva₁a₂Αvλ₁ = 1.5λ₂ = 0.5s₁s₂
What are eigenvalues/vectors good for?
Eigenvalues/vectors explain the behavior of systems that evolve step-by-step, where each step occurs as multiplication by a matrix A.If you keep multiplying v by A,
you get a sequence v,Av,A2v, etc.
As you can see below, eigenspaces attract this sequence and draw it toward (0,0) or
farther away, depending on their eigenvalues.
02004006008001,00002004006008001,000xyvΑvΑ²va₁a₂λ₁ = 1.1λ₂ = 0.5s₁s₂
Let's explore some applications and properties of these sequences.
Fibonacci Sequence
Suppose you have some amoebas in a petri dish. Every minute, all adult amoebas produce one child amoeba, and all child amoebas grow into adults (Note: this is not really how amoebas reproduce.). So if t isa minute, the equation of this system is
adultst+1childrent+1==adultst+childrentadultst
which we can rewrite in matrix form like
vt+1(adultst+1childrent+1)==A(1110)⋅⋅vt(adultstchildrent)
Below, press "Forward" to step ahead a minute. The total population is the Fibonacci Sequence.
childrenadults
012012v₀childrenadults
reset
forward
1 child + 0 adults = 11123581321345589144233
As you can see, the system goes toward the grey line, which is an eigenspace with λ=(1+5√)/2>1.
Steady States
Suppose that, every year, a fraction p ofNew Yorkers move to California and a fraction q of
Californians move to New York. Drag the circles to decide these fractions and the number starting in each state.
New YorkCalifornia1 − p = 0.7p = 0.3q = 0.11 − q = 0.938.33m19.65m
To understand the system better, we can start by writing it in matrix terms like:
vt+1(New
Yorkt+1Californiat+1)==Avt(1−pqp1−q)⋅(New
YorktCaliforniat)
It turns out that a matrix like A,
whose rows add up to zero (try it!), is called a Markov matrix, and it always has λ=1 as
an eigenvalue. That means there's a value of vt for
which Avt=λvt=1vt=vt.
At this "steady state," the same number of people move in each direction, and the populations stay the same forever. Hover over the animation to see the system go to the steady state.
90% stay70% stayHover over to play/restart0m10m20m30m40m50m0m10m20m30m40m50mCaliforniaNew Yorkv₀
Complex eigenvalues
So far we've only looked at systems with real eigenvalues. But looking at the equation Av=λv,who's to say λand v can't
have some imaginary part? That it can't be a complex number? For example,
(1−111)⋅(1i)=(1+i)⋅(1i).
Here, 1+i is
an eigenvalue and (1,i) is
an eigenvector.
If a matrix has complex eigenvalues, its sequence spirals around (0,0).
To see this, drag A's
columns (the arrows) around until you get a spiral. The eigenvalues are plotted in the real/imaginary plane to the right. You'll see that whenever the eigenvalues have an imaginary part, the system spirals, no matter where you start things off.
steps: -3-2-1123-3-2-1123-33-33-33-33realimrealimλ₀λ₁
Learning more
We've really only scratched the surface of what linear algebra is all about. To learn more, check out the legendary Gilbert Strang's LinearAlgebra course at MIT's Open Courseware site. To get more practice with applications of eigenvalues/vectors, also ceck out the excellent Differential
Equations course.
For more explanations, visit the Explained Visually project homepage.
Or subscribe to our mailing list
相关文章推荐
- 特征值和特征向量(Eigenvalues and Eigenvectors)
- 特征值和特征向量(Eigenvalues and Eigenvectors)
- 特征值与特征向量的数值计算; Matrix Eigenvalues and Eigenvectors Calculating
- OpenCascade Eigenvalues and Eigenvectors of Square Matrix
- TensorFlow - 特征值与特征向量(Eigenvalues and eigenvectors)
- A Beginner’s Guide to Eigenvectors, PCA, Covariance and Entropy
- [线性常微分方程][5]SPECIAL CASES REPEATED AND ZERO EIGENVALUES
- mysql query to find the maximum 3 values from a column and group by on other column
- URAL 1880. Psych Up's Eigenvalues
- Lvalues and Rvalues in C#
- Csharp: Calling Output Parameters and Return Values in ADO.NET
- Lua入门系列----pil学习笔记之Type and Values (2)
- use cvThreshold in three channel and truncate values above 100
- Voronoi regions of Z2 and A2 lattices and their basis vectors
- javascript - Parsing through DOM get all children and values - Stack Overflow
- Coursera 机器学习 -- Matrices and Vectors 笔记(线性代数复习课)【第一周】
- Csharp: Calling Output Parameters and Return Values in ADO.NET
- diff/merge configuration in Team Foundation - common Command and Argument values - MSDN Blogs
- Linear Algebra--Length and Dot Products of Vectors
- install eigen in ubuntu and use it in qt