matlab怎么对非满秩矩阵进行矩阵的满秩分解解

第4讲(4)Matlab中的矩阵分解命令_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第4讲(4)Matlab中的矩阵分解命令
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢满秩分解与奇异值分解
满秩分解与奇异值分解
一、矩阵的满秩分解
1. 定义:设,若存在矩阵及,使得
,则称其为的一个满秩分解。
说明:(1)为列满秩矩阵,即列数等于秩;为行满秩矩阵,即行数等于秩。
(2)满秩分解不唯一。(阶可逆方阵),则
存在性定理:任何非零矩阵均存在满秩分解
证:采用构造性证明方法。设,则存在初等变换矩阵,
将写成,并把分块成,其中
是满秩分解。
Hermite标准形(行阶梯标准形)
设,且满足
的前行中每一行至少含一个非零元素(称为非零行),且第一个非零元素为1,而后行的元素全为零(称为零行);
若中第行的第一个非零元素(即1)在第列,则
矩阵的第列,第列,…,第列合起来恰为阶单位方阵的前列(即列上除了前述的1外全为0)则称为Hermite标准形。
为Hermite标准形
也是Hermite标准形
满秩分解的一种求法
采用行初等变换将化成Hermite标准形,其矩阵形式为,其中为Hermite标准形定义中给出的形状;
选取置换矩阵
的第列为,即该列向量除第个元素为1外,其余元素全为零;
其它列只需确保为置换矩阵即可(的每一行,每一列均只有一个非零元素,且为1);
用右乘任何矩阵(可乘性得到满足时),即可得该矩阵的第列置换到新矩阵(即乘积矩阵)的第列
(3)令的前行,则
证明:,则,,已知,但,当然可以通过求出再将分块得到,但这样就没必要采用Hermite标准形形式,注意到,则
求其满秩分解
解:(1)首先求出的秩。显然,前两列互相独立,而第三行可由第一行减去第二行得到,故。
(2)进行初等变换将化为Hermite标准型。
由可见,故,
二、酉对角分解与奇异值分解
厄米矩阵的谱分解
&&&&为厄米矩阵,则存在酉矩阵,使
将写成列向量形式,即,则
非奇异矩阵的酉对角分解
定理:设为阶非奇异矩阵,则存在阶酉矩阵及,使得
(若将写成
证:也为阶非奇异矩阵,而且是厄米,正定矩阵,故存在阶酉矩阵,使
为的特征值。
即也是酉矩阵,而且
酉对角分解的求法正如证明中所给:先对对角化(酉对角化),求出变换矩阵,再令即可。
一般矩阵的奇异值分解
定理:设,则存在阶酉矩阵及阶酉矩阵,使
证:首先考虑。因为,故,
而且是厄米,半正定的,存在阶酉矩阵,使
在的基础上构造酉矩阵,即
这由前面基扩充定理可知是可行的,从而有
故定理得证。
奇异值分解的求法可按证明步骤求之
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。1064人阅读
源代码--MATLAB
算法程序是从网上摘抄过来的,但是我添加了注释
由于MATLAB中只有对矩阵直接分解成行最简形式
的函数,不方便直接看出矩阵的满秩分解形式,即A=P*Q中的P和Q矩阵,因此我找了下网上的程序。
说明:程序中对(m*n)矩阵A进行了满秩分解,分解为P*Q,其中P是m*r矩阵,Q是r*n矩阵,r是矩阵A的秩
B=rref(A); %将矩阵A化成行最简形式(rref,Reduced row echelon form),保存在B中
[m,n]=size(A); %获取矩阵A的大小:m行n列
P0(1:m,:)=0; %生成一个m行1列的列向量,全部值均为0
Q0(:,1:n)=0; %生成一个1行n列的行向量,全部值均为0
for i=1:m %依次扫描矩阵m行
for j=1:n %依次扫描矩阵n列
if B(i,j)==1 %若B(i, j)等于1
for k=1:i-1
%固定j列,扫描此列的第1行到i-1行元素
if B(k,j)~=0 %判断是否全为0
flag=0; %若不全为0,则将flag置为0(说明此列不是单位矩阵的列)
for k=i+1:m
%固定j列,扫描此列的第i+1行到m行(即最后一行)元素
if B(k,j)~=0 %判断是否全为0
flag=0; %若不全为0,则将flag置为0(说明此列不是单位矩阵的列)
if flag==1
%若flag为1(不为0),则说明此列是【矩阵的行最简形式矩阵】的单位矩阵的列
P0=[P0,A(:,j)]; %将矩阵A的j列加到P0列向量之后,如P0=[[0;1;2;3;4],[5;6;7;8;9]]
Q0=[Q0;B(i,:)]; %将矩阵B的i行加到Q0行向量之后,如Q0=[ 0,1,2,3,4 ; 5,6,7,8,9 ]或Q0=[[0,1,2,3,4];[5,6,7,8,9]]
[m1,n1]=size(P0); %获取矩阵P0的大小:m1行n1列
[m2,n2]=size(Q0); %获取矩阵Q0的大小:m2行n2列
P=P0(:,2:n1);
%将矩阵P0的第2列到最后一列赋值给矩阵P(因为第一列是列向量初始化列,其全为0)
Q=Q0(2:m2,:);
%将矩阵Q0的第2行到最后一行赋值给矩阵Q(因为第一行是行向量初始化行,其全为0)
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:22678次
排名:千里之外
原创:37篇
转载:21篇
(1)(5)(1)(1)(5)(4)(1)(2)(1)(1)(1)(1)(4)(1)(5)(1)(7)(16)(1)第1页/共2页
§4.3矩阵的满秩分解
本节讨论一个m ?n 复矩阵A 可以分解为两个与A 的秩相同的矩阵之积的问题。
定义4.3.1设m ?n 复矩阵A 的秩为r ,如果存在两个与A 的秩相同的复矩阵F 与G ,使得A =FG ,则称此式为复矩阵A 的满秩分解。
当A 是满秩矩阵时(行满秩或列满秩)A 可以分解为单位矩阵与A 自身的乘积,这个满秩分解叫做平凡分解。
定理4.3.1设m ?n 复矩阵A 的秩为r &0,则A 有满秩分解。
证:因为rankA =r &0,对A 施行初等行变换,可得到阶梯形矩阵B =
其中G 为r ?n 矩阵,并且rankG =r &0;因此存在着有限个m 阶初等矩阵之积,
-1-1记作P ,有PA =B ,或者A =P B ,将矩阵P 分块为P -1=(F
S ) ,其中F 为m ?r ?G ?
矩阵,S 为m ?(n -r ) 矩阵,并且rankF =r ,rankS =n -r 。
则有A =P -1B =(F
?G ??=FG ,其中F 是列满秩矩阵,S 是行满秩矩阵。
但是,矩阵A 的满秩分解不唯一。这是因为若取任意一个r 阶非奇异矩阵D ,则有
~~A =FG =(FD )(D -1G ) =F G 。
2??-101 ?例1、 求矩阵A = 12-11?的满秩分解。
解:对矩阵A 进行初等行变换
2100??-1012100??-101 ? ?G ? (A
I )= 12-11010?→ 0203110?=B =? 0?? ?? 22-2--11?????
?-? ? ?-1012??其中G =
0203??所以B = 0203?,P = 110?;而?? ?????
?100??10? ? ?= -110?=(F
S ),其中F = -11?
-211? -21?????
?10? ??-1012?G ??-1?=FG =-11由此可见,所以有A =P B =(F
0? 0203??。 ??? -21????
第1页/共2页
寻找更多 ""【图文】第三节满秩分解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第三节满秩分解
&&满秩分解
大小:232.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 矩阵满秩分解 的文章

 

随机推荐