http://setosa.io/ev/eigenvectors-and-eigenvalues/

Explained Visually

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₂

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 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.

Steady States

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₀

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 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

Eigenvectors and eigenvalues的更多相关文章

  1. A Beginner’s Guide to Eigenvectors, PCA, Covariance and Entropy

    A Beginner’s Guide to Eigenvectors, PCA, Covariance and Entropy Content: Linear Transformations Prin ...

  2. <<Numerical Analysis>>笔记

    2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...

  3. opencv 61篇

    (一)--安装配置.第一个程序 标签: imagebuildincludeinputpathcmd 2011-10-21 16:16 41132人阅读 评论(50) 收藏 举报  分类: OpenCV ...

  4. A geometric interpretation of the covariance matrix

    A geometric interpretation of the covariance matrix Contents [hide] 1 Introduction 2 Eigendecomposit ...

  5. OpenCV LDA(Linnear Discriminant analysis)类的使用---OpenCV LDA演示样例

    1.OpenCV中LDA类的声明 //contrib.hpp class CV_EXPORTS LDA { public: // Initializes a LDA with num_componen ...

  6. 三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

  7. Oja’s rule

    目录 Oja's rule 背景 Hebbian learning 主要的一些理论 论文里面一些主要的假设 引理1 引理2 引理3 定理1 LEMMA 3(ALL) 引理 4 定理 2 定理 3(关于 ...

  8. <Numerical Analysis>(by Timothy Sauer) Notes

    2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...

  9. [BOOK] Applied Math and Machine Learning Basics

    <Deep Learning> Ian Goodfellow Yoshua Bengio Aaron Courvill 关于此书Part One重难点的个人阅读笔记. 2.7 Eigend ...

随机推荐

  1. [PY]进制转换

    ord('j') 将字符转换为10进制 int(ord(‘j’),16) 把10进制转化为16进制 http://www.108kb.com/python/item/43662.htm http:// ...

  2. pandas 时间序列resample

    resample与groupby的区别:resample:在给定的时间单位内重取样groupby:对给定的数据条目进行统计 函数原型:DataFrame.resample(rule, how=None ...

  3. 【高清未加密】2015传智播客 最新21期c#asp.net 基础到就业班视频和源码

    [.NET]传智播客第[21]期就业班视频(高清无加密)本套2015年21期传智播客C#ASP.NET win10通用mvc+app开发视频教程附源码,是一套非常不错的asp.net自学视频教程,传智 ...

  4. Android -- 桌面悬浮,仿360

    实现原理                                                                               这种桌面悬浮窗的效果很类似与Wid ...

  5. [CareerCup] 8.7 Chat Server 聊天服务器

    8.7 Explain how you would design a chat server. In particular, provide details about the various bac ...

  6. ios——视频 MPMoviePlayerController的使用(支持本地和网络)

    视频 MPMoviePlayerController 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地 视频和 ...

  7. 关于一个每天请求50W次接口的设计实现过程

    从大学开始关注博客园,到工作之后注册了博客园账号,直至今日终于能够静下心来将自己个人的所学,所得,所悟能够分享出来与大家分享,好开心~ 言归正传,需求背景是博主所在的公司为一个在线OTA公司,客户端上 ...

  8. Android Studio修改项目的包名

    android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...

  9. WCF入门(10)

    前言 又堕落了,哎. 公司是做乙方的,工资还凑合,主要是项目基本都已完成,进去就是干维护,体会不到那种从头彻尾的成就感.项目中具体用了EF+Ado.net+WCF+WPF+(VB.net啊,坑啊,完全 ...

  10. Moqui学习Day1

    运行时目录以及Moqui的xml配置文件 Moqui框架部署运行主要有三个核心部分: 可执行的war包文件 运行时目录 Moqui配置文件XML格式 不管怎么使用这个可执行的war文件,你必须拥有一个 ...