查找了相关资料解释这种分解方法是:
当A是对称或Hermitian矩阵时,PAP’=LDL’=UDU’,S = bunchkaufman(A),会求出S.D, S.U, S.p,其中p是一个向量,解释是置换向量。
问题一:如何由p求出P?
问题二:在例子A=[1 2;2 3]中,直接由求出的UDU’可得到A,是否这个是特例还是内部经过了什么变换?
查找了相关资料解释这种分解方法是:
当A是对称或Hermitian矩阵时,PAP’=LDL’=UDU’,S = bunchkaufman(A),会求出S.D, S.U, S.p,其中p是一个向量,解释是置换向量。
问题一:如何由p求出P?
问题二:在例子A=[1 2;2 3]中,直接由求出的UDU’可得到A,是否这个是特例还是内部经过了什么变换?
线性代数的知识,我忘得差不多了。一个基本的观点是 ,实对称矩阵一定可以相似对角化。
设 A 是一个实对称矩阵,那么存在可逆矩阵 T,对角矩阵 \Lambda 使得 \Lambda=T'AT. 或者 A=R'\Lambda R, 其中 RT=E. 值得注意的是,这里的 R 是一个可逆矩阵,离需要的上三角(下三角矩阵还有点远)。但是,通过对 R 做一些初等行(列)变换 P ,可以将 R 变换成一个上三角矩阵 U.
这里的 向量 p 记录的是 A 的行(列)的排列顺序。
julia> E=[1 0 0;0 1 0; 0 0 1]
3×3 Array{Int64,2}:
1 0 0
0 1 0
0 0 1
julia> p=[2,3, 1]
3-element Array{Int64,1}:
2
3
1
julia> P=[0 1 0;0 0 1; 1 0 0]
3×3 Array{Int64,2}:
0 1 0
0 0 1
1 0 0
这些知识数值分析这门课里面应该会讲
回答的很棒。我看到文档中解释的是行变换的顺序,也看到一个索引公式看不懂。现在我知道是怎么回事了。P可以这样由p得到:P = E [ p, :],这样等于把E中的行按索引的顺序重新排布
你这个报错是因为矩阵的奇异性,不满秩,但是具体为什么不可逆的矩阵不能这么分解我不知道。
PS:请用 markdown 贴代码与报错,不建议贴截图
ok,下次贴代码。
LinearAlgebra.factorize那这里面的总结看来有些问题了:
有如下知识点:
(1)正规矩阵可以酉对角化的;