当前课程知识点:数值分析 >  第四章 矩阵特征值与特征向量的计算 >  4.2 反幂法 >  反幂法

返回《数值分析》慕课在线视频课程列表

反幂法在线视频

下一节:多项式插值理论

返回《数值分析》慕课在线视频列表

反幂法课程教案、知识点、字幕

各位同学大家好

我是北京理工大学朱国庆老师

我们接下来学习

矩阵特征值与特征向量计算的反幂法

矩阵特征值 特征向量的计算的幂法

是用来计算按模最大的特征值

和特征向量的方法

如果我们想算一个矩阵

它按模最小的特征值

和特征向量的话

我们需要使用反幂法

反幂法的基本思想是这样的

如果我们假设

矩阵Ax等于λx这个式子成立

也就是λ作为矩阵A的特征值的话

x是特征向量

那么这个x

假设矩阵A可逆的情况之下

这个x写成A的逆λx的这种形式

同样我们做一个处理

把这个A的逆x等于λx分之一

做一个解读

我们把λ分之一视为A的逆这个函数

这个矩阵它的特征值

这个特征值是基于刚才那个Ax等于λ

也就是对应的同样的特征向量

λ作为A的特征值的时候

λ分之一就作为A的逆的特征值了

这里面线性代数当中的内容告诉我们

矩阵A与矩阵A的逆

它的特征值实际上是互为倒数的

特征向量保持不变

也就是同一个特征向量

对应的特征值

实际上是要互为倒数关系

那么求矩阵A的按模最小的特征值

就是相当于是等价于求矩阵A的逆

它的按模最大的特征值

然后这个最大的特征值逆计算

我们就可以按照幂法来处理

同样的这里面 如果我们写x(k+1)

等于A的逆y(k)的时候

这里面这个计算A的逆

可能这个运算量也比较大

实际上我们是为了计算x的k+1次幂

我们不需要把A的逆算出来

我们利用的是

第二章当中求解线性方程组的理论

Ax(k+1)=y(k)

而且这个A在计算线性方程组求解的时候

我们把这个矩阵A

比如说用LU分解的话

那么分解一次

我们在多次计算xk的时候

都可以拿过来使用

第二个

如果是讨论反幂法的应用的时候

我们还会说

矩阵A的特征值如果是一个λi

那么我们想算矩阵A

它在某一个点附近的特征值的时候

我们可以通过原点移位的方法

反幂法来把这个矩阵

在λi附近的某一个特征值算出来

一般来说是这么假设的

已知矩阵A在λ*附近有一个特征值λi0

那么这个λ*

我们视为一个初始的近似值

我们构造一个A-λ*I

那么它的这个矩阵的特征值

就是λi-λ*

因为我们想算λ*附近的λi0的时候

我们假设λi0-λ*

这是一个比较小的值

换句话说 λi0-λ*

是A-λ*I按模最小的那个特征值

那么这样的话我们就可以

把A-λ*I用反幂法来计算

一般来说是这样的

用反幂法算A-λ*I的

最小特征值λi0-λ*

然后A在λ*附近的特征值λi0

基本上就通过这个反幂法算出来

然后特征向量当然也能够算得出来了

这里面如果μ是A-λ*I的逆的按模最大特征值

μ分之一就是A-λ*I的

按模最小的特征值了

这个μ分之一就是λi0-λ*

然后λi0就等于μ分之一再加上λ*了

这是一个近似处理的一个过程

下面来看一下反幂法处理问题的算法流程

我们这里面实际上是给定的原点移位的

假设我们需要输入矩阵A

近似值λ* 然后初始向量x

误差限ε还有迭代次数N

这里面第二步取k=1

λ0取成1

y是x的归一化或者叫做标准化处理的结果

然后作一个三角分解

把A-λ*I等于LU

然后解线性方程组LUx=y

Lz=y然后Ux=z

这里面我们知道y是给定的单位化的那个结果

然后L是一个单位下三角矩阵

所以那个z的计算是

从上往下先算z1 z2

一直到zn的运算过程

同样知道了z之后

Ux=z的时候

U是一个上三角矩阵

所以我们需要先算xn xn-1 x2 x1

这是一个从下往上的一个计算的过程

然后我们取μ是等于向量x当中的最大元素

然后y是x的一个单位化的处理结果

λ就等于λ*加上μ分之一了

如果我们的判别条件

λ-λ*小于ε这个是成立的

那么我们就得到了

我们需要的特征值λ

然后还有一个对应的特征向量 就是那个y

否则的话我们再把k+1

就是再进行迭代下一步

把k+1赋予k

然后λ赋给λ0

转到第四步的一个运算

第三步那个LU分解的时候

这里面其实已经分解过了

我们直接拿过来用就可以了

然后否则的话 就输入失败的信息

这个算法就到此结束

补充一句 我们这个里面的λ*

其实如果取成0的话

这个其实就是所谓的普通的反幂法

没有用原点移位的

然后λ*取成在某个点附近

你给定的近似值的话

这就是原点移位的那个反幂法

下面我们用反幂法

来看一个具体的计算的例子

矩阵A是第一行 2 -1 0

第二行 0 2 -1

第三行 0 -1 2

我们首先要算

按模最小的特征值及特征向量

也就是用普通的反幂法来计算的一个例子

然后x(0)取成0 0 1

当然是个列向量

第二个 我们讲计算接近2.93的特征值

及其对应的特征向量

然后求A按模最小的特征值

及其特征向量的时候

普通的反幂法

x(k+1)等于A的逆y(k)

我们转换成Ax的k+1

等于y(k)的形式

首先将矩阵A做一个LU分解

把矩阵A进行LU分解

L是它的单位下三角矩阵

这里面1 1 1

然后那个只在A三二的位置有个负二分之一

然后U的话是2 2 3/2对角线

然后是-1 -1 0的那个表达式

是整个上三角矩阵

然后我们计算的时候

y(0)实际上是x(0)的单位化

本质上而言都已经是0 0 1的形式了

所以还是它本身

然后Lz是y(0)

通过Lz=y(0)

L是知道的

然后把z算出来

也是0 0 1

然后再算一个Ux(1)等于z的这种形式

我们把x(1)给它算出来

有了x(1)之后

x(1)这个向量

最大的那个元素μ是2/3

我们λ(1)就是μ分之一

这个就等于1.5

然后y(1)实际上是x(1)的单位化

把那个2/3作为分母

然后拿x(1)除上那个2/3

1/4 1/2 1

同样的 有了y(1)之后

我们要算Lz=y(1)

然后把z算出来

然后Ux(2)=z

把x(2)算出来

这个x(2)算出来11/24 2/3 5/6

最大的那个元素应该是5/6

这个μ取成5/6

然后λ(2)就是μ分之一 是1.2

这个时候我们算的那个x(2)

就是把那个5/6

x(2)除上

每个元素都除上5/6

算出来是11/20 4/5 1

这是我们的那个计算程序

当k取1 2 3 4 5 6 7的时候

我们假设精度是10的-7次方的话

那么七步其实就可以得到精确的结果了

然后我们要求如果是10的-4次方的话

刚才是迭代3次

然后得到第三行的一个结果

当然如果我们采用matlab的计算语言的话

特征值应该是2 3 1

下面来看第二步

用反幂法来求矩阵A

接近2.93的特征值及特征向量的时候

这个x(0)取的是0 0 1

我们把A-2.93I

按模最小求它的特征值

这里面反幂法处理的时候

x(k+1)等于A-2.93I的逆

然后y的k

然后(A-2.93I)x(k+1)=y(k)

然后我们要做的

实际上是对那个A-2.93I做一个LU分解

这个LU分解的时候

这个手算可能算不了了

需要大家用计算机来算

这个把L单位下三角矩阵

这个U

这个上三角矩阵单独给出来

按照原点移位的这个思想

首先要算的是

y(0)等于x(0)单位化的处理

然后是Lz等于y(0)

然后把z算出来

然后Ux(1)等于z

我们把x(1)算出来

通过这个数据可以看得出来

这个数据在小数点后都给了

好几位的这个有效数字

所以这个必须用计算机来做了

然后μ是取x(1)这个向量当中

最大的那个元素

然后这个λ(1)就是2.93再加上μ分之一

因为2.93是原点移位那个近似值

同样的 有了λ(1)之后

我们再把这个y(1)算出来

然后

迭代是按照上面的次序去迭代3次

我们就可以算出来

λ第三个近似值是3.0000357

然后u当然就是这个近似值

就是y(3) 是1

然后-0.9992431

然后是0.99914

这个题目讲解到此结束

然后我们这个近似计算的时候

精确值λ其实是等于3的

u是等于1 -1 1的

特征值的这个误差

我们算出来是0.00086

按最大的一个元素取无穷模的话

这个应该是小于等于0.001的

我们看一下这个计算程序的结果

k=0的时候

k=1的时候

k=2的时候

我们这里面的误差取成

这个e的-7的话

那么这里面在

k=7的时候

其实精确度都可以算的很高了

右边是对应的用matlab的程序语言算出来的结果

矩阵A的特征值是2 3 1

这部分内容分享到此结束

数值分析课程列表:

第一章 误差

-1.1 误差的概念

--误差的概念

-1.2 误差的传播

--误差的传播

-第一章 习题

--第一章 习题

第二章 解线性方程组的直接解法

-2.1 Gauss消去法

--Gauss消去法

-2.2 矩阵的三角分解

--矩阵的三角分解

-2.3 直接三角分解法

--直接三角分解法

-2.4 平方根法和改进的平方根法

--平方根法和改进的平方根法

-2.5 误差分析(1)向量和矩阵范数

--误差分析(1)向量和矩阵范数

-2.6 误差分析(2)条件数

--误差分析(2)条件数

-第二章 习题

--第二章 习题

第三章 解线性方程组的迭代法

-3.1 Jacobi迭代法和Gauss-Seidel 迭代法

--Jacobi迭代法和Gauss-Seidel 迭代法

-3.2 迭代法收敛性的判别

--迭代法收敛性的判别

-3.3 误差分析

--误差分析

-第三章 习题

--第三章 习题

第四章 矩阵特征值与特征向量的计算

-4.1 幂法

--幂法

-4.2 反幂法

--反幂法

-第四章 习题

--第四章 习题

第五章 插值法

-5.1 多项式插值理论

--多项式插值理论

-5.2 Lagrange 插值多项式

--Lagrange 插值多项式

-5.3 Newton 插值多项式(1)差商型

--Newton 插值多项式(1)差商型

-5.4 Newton 插值多项式(2)差分型

--5.4 Newton 插值多项式(2)差分型

-5.5 分段线性插值

--分段线性插值

-5.6 Hermite 插值

--Hermite 插值

-第五章 习题

--第五章 习题

第六章 函数逼近

-6.1 数据拟合的最小二乘法(1)多项式拟合

--数据拟合的最小二乘法(1)多项式拟合

-6.2 数据拟合的最小二乘法(2)其他函数拟合

--数据拟合的最小二乘法(2)其他函数拟合

-6.3 正交多项式

--正交多项式

-6.4 函数的最佳平方逼近

--函数的最佳平方逼近

-第六章 习题

--第六章 习题

第七章 数值微分与数值积分

-7.1 数值微分

--数值微分

-7.2 Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

--Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式

-7.3 Newton-Cotes求积公式(2)误差估计

--Newton-Cotes求积公式(2)误差估计

-7.4 复化求积公式

--复化求积公式

-7.5 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-第七章 习题

--第七章 习题

第八章 非线性方程的求解

-8.1 Romberg求积公式、Gauss型求积公式

--Romberg求积公式、Gauss型求积公式

-8.2 简单迭代法的加速、牛顿法与弦截法

--简单迭代法的加速、牛顿法与弦截法

-第八章 习题

--第八章 习题

第九章 常微分方程数值解法

-9.1 常微分方程数值解法概述

--常微分方程数值解法概述

-9.2 Euler方法及其改进方法

--Euler方法及其改进方法

-第九章 习题

--第九章 习题

反幂法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。