特征值和特征向量的子集
矩阵一个= delsq (numgrid (' C ', 15))
是一个对称正定矩阵,特征值合理均匀的间隔(0 8)。计算出六大特征值大小。
一个= delsq (numgrid (“C”、15));d = eigs (A)
d =6×17.8666 7.7324 7.6531 7.5213 7.4480 7.3517
指定第二个输入来计算一个特定数量的最大特征值。
d = eigs (3)
d =3×17.8666 7.7324 7.6531
矩阵一个= delsq (numgrid (' C ', 15))
是一个对称正定矩阵,特征值合理均匀的间隔(0 8)。计算最小的五个特征值。
一个= delsq (numgrid (“C”、15));d = eigs (5“smallestabs”)
d =5×10.1334 0.2676 0.3469 0.4787 0.5520
创建一个1500 - 25% - 1500随机稀疏矩阵的非零元素的近似密度。
n = 1500;一个= sprand (n, n, 0.25);
发现矩阵的LU分解,返回一个排列向量p
满足:一个(p) = L * U
。
陆(L U p) = (,“向量”);
创建一个函数处理Afun
接受一个向量输入x
采用LU分解的结果,实际上,回报x \
。
Afun = @ (x) U \ (L \ (x (p)));
计算最小6级特征值使用eigs
函数处理Afun
。第二个输入的大小一个
。
d = eigs (Afun 1500 6“smallestabs”)
d =6×1复杂0.1423 + 0.0000我0.4859 + 0.0000 -0.3323 - 0.3881 -0.3323 0.1019 - 0.5381 + 0.3881我0.1019 + 0.5381
west0479
是一个实值479 -,- 479稀疏矩阵与真正的和复杂的双共轭特征值。
加载west0479
矩阵,然后计算和绘制所有的特征值使用eig
。由于特征值是复杂的,情节
自动使用真正的部分作为x坐标和y坐标的虚部。
负载west0479一个= west0479;d = eig(完整的(A));情节(d,“+”)
沿着实线的特征值都是集群(轴),特别是在原点附近。
eigs
有几个选项σ
可以挑选不同类型的最大或最小的特征值。计算和绘制一些特征值为每个可用的选项σ
。
图绘制(d,“+”)举行在la = eigs (6“largestabs”);情节(洛杉矶,“罗”)sa = eigs (6“smallestabs”);情节(sa),“去”)举行从传奇(所有特征值的,最大程度的,最小程度的)包含(“实轴”)ylabel (“虚轴”)
图绘制(d,“+”)举行在数量= eigs (4“bothendsreal”);情节(ber,“r ^”)贝= eigs (4“bothendsimag”);情节(贝,“g ^”)举行从传奇(所有特征值的,“真实”的两端,“两端想象的”)包含(“实轴”)ylabel (“虚轴”)
图绘制(d,“+”)举行在lr = eigs (3“largestreal”);情节(lr,“罗”)老= eigs (3“smallestreal”);情节(sr,“去”李)= eigs (3“largestimag”,“SubspaceDimension”,45岁);情节(李“m ^”)如果= eigs (3“smallestimag”,“SubspaceDimension”,45岁);情节(si,“c ^”)举行从传奇(所有特征值的,最大的真实”,“最小的真实”,“最大的想象”,“最小的想象”)包含(“实轴”)ylabel (“虚轴”)
“smallestabs”
和“smallestreal”
特征值创建一个对称正定稀疏矩阵。
一个= delsq (numgrid (“C”,150));
计算六个最小特征值使用“smallestreal”
维多雇佣了一个方法使用一个
。
抽搐d = eigs (6“smallestreal”)
d =6×10.0013 0.0025 0.0033 0.0045 0.0052 0.0063
toc
运行时间是3.380573秒。
计算使用相同的特征值“smallestabs”
雇佣了一个维方法使用的倒数一个
。
抽搐dsm = eigs (6“smallestabs”)
dsm =6×10.0013 0.0025 0.0033 0.0045 0.0052 0.0063
toc
运行时间是0.341139秒。
特征值的接近于零。的“smallestreal”
计算难以收敛一个
由于特征值之间的差距是如此之小。相反,“smallestabs”
选择使用的倒数一个
,因此逆特征值的一个
,更大的差距,因此更容易计算。这种改进的性能为代价的分解一个
,这是没有必要的“smallestreal”
。
计算特征值数值附近σ
值几乎等于一个特征值。
矩阵一个= delsq (numgrid (“C”, 30))
是一个对称正定矩阵特征值的大小632合理均匀的间隔(0 8),但随着18重复特征值为4.0。计算一些特征值在4.0附近,它是合理的函数调用4.0 eigs (20)
。然而,这叫计算最大特征值的倒数- 4.0 *我
,在那里我
是一个单位矩阵。因为4.0是一个特征值一个
这个矩阵是奇异的,因此并没有一个逆。eigs
失败并产生一个错误消息。的数值σ
不能完全等于一个特征值。相反,您必须使用的值σ
但不等于4.0附近找到这些特征值。
计算所有特征值的使用eig
,20个特征值接近4 - 1 e-6使用eigs
比较的结果。情节与每个方法计算特征值。
一个= delsq (numgrid (“C”,30));σ= 4 - 1 e-6;d = eig(一个);D =排序(eigs(σ),20日);
情节(d (307:326),“ks”)举行在情节(D,k +的)举行从传奇(“eig (A)”,“eigs(σ),20日”)标题(“18重复特征值”)
创建稀疏随机矩阵一个
和B
这两个有低密度的非零元素。
B = sprandn (1 e3, e3, 0.001) + speye (e3);B = B * B;一个= sprandn (1 e3, e3, 0.005);= A + A”;
发现的柯列斯基分解矩阵B
,使用三个输出返回排列向量年代
和测试值p
。
(R, p, s) =胆固醇(B,“向量”);p
p = 0
自p
是零,B
是一个对称正定矩阵满足吗B (s, s) = R ' * R
。
计算级六大特征值和特征向量的广义特征值问题涉及一个
和R
。自R
柯列斯基因素吗B
,指定“IsCholesky”
作为真正的
。此外,由于B (s, s) = R ' * R
因此R =胆固醇(B (s, s))
,使用排列向量年代
的价值“CholeskyPermutation”
。
[V D标志]= eigs (R, 6日“largestabs”,“IsCholesky”,真的,“CholeskyPermutation”,年代);国旗
国旗= 0
自国旗
为零,所有的特征值聚合。
一个
- - - - - -输入矩阵输入矩阵,指定为一个方阵。一个
通常,但并非总是如此,一个大的和稀疏矩阵。
如果一个
是对称的,然后eigs
使用一个专门的算法。如果一个
是近对称的,那么考虑使用= (+)/ 2
为了使一个
对称之前调用eigs
。这将确保eigs
计算的特征值,而不是复杂的。
数据类型:双
复数的支持:金宝app是的
B
- - - - - -输入矩阵输入矩阵,指定为一个方阵的大小一样一个
。当B
是指定的,eigs
解决了广义特征值问题* V = B * * D
。
如果B
是对称的正定,然后呢eigs
使用一个专门的算法。如果B
是近对称正定,那么考虑使用B = (B + B) / 2
为了使B
对称之前调用eigs
。
当一个
是标量,您可以指定吗B
作为一个空矩阵eigs ([], k)
解决之间的标准特征值问题和消除歧义B
和k
。
数据类型:双
复数的支持:金宝app是的
k
- - - - - -的特征值来计算特征值计算,指定为一个积极的标量整数。如果k
大于大小(2)
,然后eigs
使用最大有效值k =大小(2)
代替。
例子:eigs (2)
返回的两个最大特征值一个
。
σ
- - - - - -类型的特征值“largestabs”
(默认)|“smallestabs”
|“largestreal”
|“smallestreal”
|“bothendsreal”
|“largestimag”
|“smallestimag”
|“bothendsimag”
|标量类型的特征值,表中指定的值。
σ |
描述 |
σ(R2017a和早些时候) |
---|---|---|
标量(真实的或复杂的,包括0) |
特征值最接近的数字 |
没有变化 |
|
最大的大小。 |
“lm” |
|
最小的大小。一样 |
“sm” |
|
最大的真实。 |
“lr” ,“拉” |
|
最小的真实。 |
“老” ,“sa” |
|
两端, |
“是” |
为非对称问题,σ
也可以是:
σ |
描述 |
σ(R2017a和早些时候) |
---|---|---|
|
最大的虚部。 |
“李” 如果一个 是复杂的。 |
|
最小的虚部。 |
“如果” 如果一个 是复杂的。 |
|
两端, |
“李” 如果一个 是真实的。 |
例子:eigs (k, 1)
返回k
特征值接近1。
例子:eigs (k ' smallestabs ')
返回k
最小的特征值大小。
数据类型:双
|字符
|字符串
选择
- - - - - -选择结构选择结构,指定为一个结构包含一个或多个字段的表。
请注意
使用结构的选项来指定选项不推荐。使用名称-值对。
选择字段 | 描述 | 名称-值对 |
---|---|---|
issym |
对称的 |
“IsFunctionSymmetric” |
托尔 |
收敛宽容。 |
“宽容” |
麦克斯特 |
最大迭代次数。 |
“MaxIterations” |
p |
兰索斯基向量的数量。 |
“SubspaceDimension” |
半 |
从向量。 |
“StartVector” |
disp |
诊断信息显示水平。 |
“显示” |
失败 |
治疗nonconverged特征值的输出。 | “FailureTreatment” |
上海浦东发展银行 |
是B 对称正定? |
“IsSymmetricDefinite” |
cholB |
是 |
“IsCholesky” |
permB |
指定排列向量 |
“CholeskyPermutation” |
例子:opts.issym=1,选择。托尔=1e-10
创建一个结构设置的字段值issym
和托尔
。
数据类型:结构体
Afun
- - - - - -矩阵函数矩阵函数,指定为一个函数处理。这个函数y = Afun (x)
必须返回正确的值取决于σ
输入:
* x
——如果σ
未指明的还是以外的任何文本选项“smallestabs”
。
x \
——如果σ
是0
或“smallestabs”
。
(我)一个σ* \ x
——如果σ
是一个非零的标量(标准特征值问题)。
(一个σ* B) \ x
——如果σ
是一个非零的标量(广义特征值问题)。
例如,下面的Afun
当调用工作eigs
与σ= ' smallestabs '
:
陆(L U p) =(,“矢量”);Afun = @ (x) U \ (L \ (x (p)));d = eigs (Afun 100 6“smallestabs”)
对于一个广义特征值问题,添加矩阵B
如下(B
不能被表示为一个函数处理):
d = eigs (Afun, 100 B 6“smallestabs”)
一个
被假定为非对称除非吗“IsFunctionSymmetric”
(或opts.issym
)指定。设置“IsFunctionSymmetric”
来真正的
确保eigs
计算的特征值,而不是复杂的。
信息如何提供额外的参数Afun
功能,请参阅参数化功能。
提示
调用eigs
与“显示”
预计选项打开看看输出Afun
。
n
- - - - - -方阵为代表的大小Afun
方阵的大小一个
这是由Afun
,指定为一个积极的标量整数。
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
d = eigs (k,σ,“宽容”,1平台以及MaxIterations, 100)
放松的收敛宽容和使用更少的迭代。
宽容
- - - - - -收敛公差1 e-14
(默认)|积极的真正的标量收敛宽容,指定为逗号分隔组成的“宽容”
和积极的实际数值标量。
例子:s = eigs (k,σ,“宽容”,1 e - 3)
MaxIterations
- - - - - -最大数量的迭代算法300年
(默认)|正整数最大数量的算法迭代,指定为逗号分隔组成的“MaxIterations”
和一个正整数。
例子:d = eigs (k,σ,MaxIterations, 350)
SubspaceDimension
- - - - - -维子空间的最大大小马克斯(2 * k, 20)
(默认)|非负整数维子空间的最大大小,指定为逗号分隔组成的“SubspaceDimension”
和一个非负整数。的“SubspaceDimension”
值必须大于或等于k + 1
真正的对称问题,k + 2
否则,k
是特征值的数量。
推荐值p > = 2 * k
,或者真正的非对称问题,p > = 2 * k + 1
。如果你不指定一个“SubspaceDimension”
值,那么使用至少默认的算法20.
兰索斯向量。
的问题,eigs
无法收敛,增加的价值“SubspaceDimension”
可以提高收敛行为。然而,增加价值太多会导致内存问题。
例子:d = eigs (k,σ,SubspaceDimension, 25)
StartVector
- - - - - -初始向量初始向量开始,指定为逗号分隔组成的“StartVector”
和一个数字向量。
开始指定一个不同的随机向量的主要原因是当你想控制随机数流用于生成向量。
请注意
eigs
选择初始向量可再生的方式使用私人随机数流。改变随机数种子不影响初始向量。
例子:d = eigs (k,σ,StartVector, randn (m, 1))
使用一个随机向量开始吸引全球随机数流值。
数据类型:双
FailureTreatment
- - - - - -治疗nonconverged特征值“replacenan”
(默认)|“保持”
|“下降”
治疗nonconverged特征值,指定为逗号分隔组成的“FailureTreatment”
其中一个选项:“replacenan”
,“保持”
,或“下降”
。
的价值“FailureTreatment”
决定了eigs
显示nonconverged特征值的输出。
选项 |
对输出的影响 |
---|---|
|
nonconverged特征值替换为 |
|
包括nonconverged特征值的输出。 |
|
删除nonconverged特征值的输出。这个选项会导致 |
例子:d = eigs (k,σ,“FailureTreatment”、“下降”)
删除nonconverged特征值的输出。
数据类型:字符
|字符串
显示
- - - - - -切换显示的诊断信息假
或0
(默认)|真正的
或1
切换显示的诊断信息,指定为逗号分隔组成的“显示”
和一个数字或逻辑1
(真正的
)或0
(假
)。指定的值真正的
或1
打开显示诊断信息的计算。
Afun
IsFunctionSymmetric
- - - - - -对称的Afun
矩阵真正的
或1
|假
或0
对称的Afun
矩阵,指定为逗号分隔组成的“IsFunctionSymmetric”
和一个数字或逻辑1
(真正的
)或0
(假
)。
这个选项指定矩阵Afun
适用于其输入向量是对称的。指定的值真正的
或1
表明eigs
应该使用专门的算法为对称矩阵和返回真正的特征值。
* V = B * * D
IsCholesky
- - - - - -柯列斯基分解的切换B
真正的
或1
|假
或0
柯列斯基分解的切换B
,指定为逗号分隔两人组成的“IsCholesky”
和一个数字或逻辑1
(真正的
)或0
(假
)。
这个选项指定的输入矩阵B
在调用eigs (A, B, ___)
实际上是柯列斯基因素呢R
所产生的R =胆固醇(B)
。
请注意
不使用这个选项如果σ
是“smallestabs”
或一个数字标量。
CholeskyPermutation
- - - - - -柯列斯基排列向量1:n
(默认)|向量柯列斯基排列向量,指定为逗号分隔组成的“CholeskyPermutation”
和一个数字向量。指定排列向量permB
如果稀疏矩阵B
是分解根据之前重新排序胆固醇(B (permB permB))
。
您还可以使用的三个输出语法胆固醇
对于稀疏矩阵直接获得permB
与[R p permB] =胆固醇(B,“矢量”)
。
请注意
不使用这个选项如果σ
是“smallestabs”
或一个数字标量。
IsSymmetricDefinite
- - - - - -Symmetric-positive-definiteness切换为B
真正的
或1
|假
或0
Symmetric-positive-definiteness切换为B
,指定为逗号分隔两人组成的“IsSymmetricDefinite”
和一个数字或逻辑1
(真正的
)或0
(假
)。指定真正的
或1
当你知道B
是对称的正定,它是严格的对称矩阵正特征值。
如果B
对称半正定(一些特征值为零),然后指定“IsSymmetricDefinite”
作为真正的
或1
部队eigs
使用相同的专业算法,它使用的时候B
是对称的正定。
请注意
使用这个选项的值σ
必须是数字或“smallestabs”
。
d
——特征值特征值,作为一个列向量返回。d
排序是不同的根据的价值σ
。
的价值 |
输出排序 |
---|---|
|
由大小降序排列 |
|
由实部降序排列 |
|
降序排列的虚部 |
|
通过大小升序排列 |
|
由实部升序排序 |
|
升序的虚部 |
|
降序排列的虚部的绝对值 |
V
——特征向量特征向量,作为一个矩阵返回。列在V
对应的特征值沿对角线D
。形式和正常化V
取决于输入参数的组合:
[V D] = eigs (A)
收益矩阵V
正确的特征向量的列一个
这样* V = V * D
。的特征向量V
是规范化的2-norm是1。
如果一个
是对称的,特征向量,V
正交。
[V D] = eigs (A, B)
返回V
作为一个矩阵的列是广义特征向量满足* V = B * * D
。每个特征向量的2-norm不一定是1。
如果B
是对称的正定,特征向量在吗V
归一化,这样吗B
规范的是1。如果一个
也是对称的,那么特征向量是什么B
正交。
不同的机器上,MATLAB的版本®,或参数(如起始矢量和子空间维度)仍然可以产生不同的特征向量的数值准确:
对于真正的特征向量,特征向量可以改变的迹象。
对于复杂的特征向量,特征向量可以乘以任何复数1级。
多个特征值,特征向量通过线性组合可以重组。例如,如果一个x=λx和一个y=λy,然后一个(x+y)=λ(x+y),所以x+y也是一个特征向量一个。
D
——特征值矩阵特征值矩阵,返回为一个对角矩阵主对角线上的特征值。
国旗
——收敛国旗0
|1
收敛国旗,返回0
或1
。的值0
表明所有特征值的融合。否则,不是所有的特征值聚合。
使用这种收敛国旗输出抑制警告收敛失败。
eigs
使用私人随机数生成默认的起始矢量流以确保在运行再现性。设置随机数字生成器使用状态rng
在调用之前eigs
不影响输出。
使用eigs
并不是最有效的方式找到几个特征值小,密度矩阵。对于这样的问题,它可能会使用更方便eig(全(A))
。例如,发现三个矩阵特征值在500 - 500年是一个相对较小的问题,很容易处理eig
。
如果eigs
不能收敛为给定的矩阵,增加兰索斯基向量的数量增加的价值“SubspaceDimension”
。作为二次选择,调整的最大迭代数,“MaxIterations”
收敛公差,“宽容”
,也可以帮助收敛行为。
行为改变R2017b
更改分类顺序输出
eigs
现在根据的价值排序输出σ
。例如,命令eigs (k ' largestabs ')
生产k
特征值的降序排序。
以前,产生的输出的排序顺序eigs
是没有保证的。
再现性
调用eigs
连续多次现在产生相同的结果。集“StartVector”
一个随机向量改变这一行为。
显示
一个显示的值2
不再返回计时信息。相反,eigs
把一个值的2
的值是一样的1
。同样,显示的消息“显示”
选择已经改变了。新消息显示剩余在每个迭代中,而不是丽兹的值。
[1]斯图尔特,G.W.“一个”。自旋波Krylov-Schur算法对于大征值问题暹罗《矩阵分析和应用程序。问题3,第23卷,2001年,页601 - 614。
[2]Lehoucq R.B.,D。C. Sorenson, and C. Yang.ARPACK用户指南。费城,宾夕法尼亚州:暹罗,1998年。
backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
这个函数完全支持分布式阵列。金宝app有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱)。
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。