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. 【C#】实现按Windows排序方式排序

    很多人或许都遇到过类似的问题,C#读取的文件列表默认是按ASCII排序的,这样会出现一个问题就是10会排在2的前面. 那么是否可以解决呢,答案是肯定的.虽然这个是很早之前遇到的问题,这次突然想起来,就 ...

  2. c语言 &取地址运算符的理解

    对于c语言中的&运算符,百度百科是这样定义的:(&p)则是这样一种运算,返回当时声明p 时开辟的地址:但是根据我对代码的观察,我觉得&运算符不只是返回地址的功能: 例如: in ...

  3. AE笔记

    我想做一个好玩的视频,需要用到AE,写点东西锻炼语言能力,视频教程后续录制到时放链接. 一.合成 拖进项目的视频要新建合成才能加以编辑,新建合成很简单,拖拽你的视频向下到一个类似相片的图标上面就新建成 ...

  4. webapi同一个Controller多个函数

    现在用webapi发现一个问题,比如用get方法调用的的时候函数名好像没用,不管你写什么名称,它只认调用相同参数的一个函数,而且以get开头的函数虽然名称不同但是只要参数相同就会报错,无法调用怎么回事 ...

  5. 怎么样快速学习AngularJS?

    其实AngularJS的官方网站首页的几个例子已经很好的展示了AngularJS的一些特性,下面我就从几个例子一步一步的讲解AngularJS吸引人的东西并且实际项目中是怎么使用ng的. 首先还是从第 ...

  6. .NET面试题解析(07)-多线程编程与线程同步 (转)

    http://www.cnblogs.com/anding/p/5301754.html 系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 关于线程的知识点其实 ...

  7. 20135326、20135303-linux实验三实验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础实验 班级:1353 姓名:魏昊卿 王亦可  学号:20135303 20135326 成绩:      ...

  8. DLL函数中内存分配及释放的问题

    DLL函数中内存分配及释放的问题 最近一直在写DLL,遇到了一些比较难缠的问题,不过目前基本都解决了.主要是一些内存分配引起问题,既有大家经常遇到的现象也有特殊的 情况,这里总结一下,做为资料. 错误 ...

  9. JavaScript里面三个等号和两个等号有什么区别?

    1.对于string,number等基础类型,==和===是有区别的 a)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 b)同类型比较,直接进 ...

  10. 记录我开始学习 Git的路程

    工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...