中科院(国科大)矩阵分析与应用作业5
- 格式:pdf
- 大小:75.85 KB
- 文档页数:2
中科院矩阵分析与应用大作业实现LU分解 QR分解 Householder reduction、Givens reductionMatlab 代码:function [] =juzhendazuoyeA=input('请输入一个矩阵A=');x=input('请输入序号 1 LU分解 2 Gram-Schmidt分解 3 Householder reduction 4 Givens reduction:' );if(x==1)%%*************LU分解*****************%%disp('PA=LU')m=size(A,1); % m等于矩阵A的行数n=size(A,2); % n等于矩阵A的列数if(m==n) % 判断矩阵A是不是方阵% 如果矩阵A不是方阵那么就输出“error”U=A; % 把矩阵A赋值给矩阵UL=zeros(n); % 先将L设为单位阵P=eye(n); % 首先将交换矩阵P设为单位矩阵for j=1:n-1for i=j+1:nif (U(j,j)~=0) %判断主元元素是否不为0L(i,j)=U(i,j)/U(j,j);U(i,:)=U(i,:)-U(j,:)*U(i,j)/U(j,j); % U(j,j)为主元元素elsea=j+1; % 令a等于j+1while((U(a,j)==0)&&(a<n)) % 判断主元元素所对的下一行元素是不是0,a是否小于na=a+1; % 寻找下一个元素endtemp=U(j,:); % 判断主元元素所在列(除主元元素外)第一个不为零的元素的所在行与主元元素所在行进行行交换U(j,:)=U(a,:); % U两行交换位置U(a,:)=temp ;m=L(j,:);L(j,:)=L(a,:); % L矩阵两行交换位置L(a,:)=m;q=P(j,:);P(j,:)=P(a,:); % 交换矩阵的两行交换P(a,:)=q;L(i,j)=U(i,j)/U(j,j);U(i,:)=U(i,:)-U(j,:)*U(i,j)/U(j,j);endendendfor k=1:nL(k,k)=1; % 把L矩阵的对角线赋值为1endL % 输出下三角矩阵LU % 输出上三角矩阵UP % 输出交换矩阵PA=inv(P)*L*Uelse disp('error')endendif(x==2) %% 判断如果x=2,那么将执行schmid分解%%**************Gram-Schmidt正交分解*****************%%disp('A=Q*R')Q=zeros(size(A,1),size(A,2)); %% 先把Q设为全零矩阵R=zeros(size(A,2)); %% R设置为全零矩阵a=A(:,1); %% 把第一列赋值给aR(1,1)=norm(a); %% 求第一列列向量的模值a=a/norm(a); %% 求第一列列向量的单位向量Q(:,1)=a; %% 把a赋值给Q的第一列for j=2:size(A,2)m=zeros(size(A,1),1); %% 取A的第一列for i=1:j-1R(i,j)=Q(:,i)'* A(:,j); %% q的转置乘以A的第j列向量m=m+R(i,j)*Q(:,i); %% q的转置乘以A的列向量endQ(:,j)=A(:,j)-m; %% A的第j列减去q(i)和A(:,j)的内积和R(j,j)=norm(Q(:,j)); %% 把Q的列向量的模值赋值给R(j,j)Q(:,j)=Q(:,j)/norm(Q(:,j)); %% 把Q的列向量的单位化endQ %% 输出正交矩阵QR %% 输出上三角矩阵Rendif(x==3) %% 判断如果x=3,那么将进行Householder reduction %%************Householder reduction***********%%disp('P*A=T')R=zeros(size(A,1)); %% 把R设置为矩阵维数等于矩阵的行数的全零方阵R1=zeros(size(A,1)); %% 把R1设为矩阵维数等于矩阵的行数的全零方阵M=A; %% 将A赋给MP=eye(size(M,1)); %% 先将P矩阵设为维数等于M的单位矩阵for i=1:(size(M,1)-1)U=A; %% 将A赋值给UU(1,1)=U(1,1)-norm(U(:,1)); %% 将U的第一列的第一行元素减去U的第一列列向量的模值R=eye(size(U,1))-2*U(:,1)*U(:,1)'/(U(:,1)'* U(:,1)); %%I-2*U(:,1)*U(:,1)'/(U(:,1)'* U(:,1)A=R*A; %% R乘以A赋值给AA=A(2:size(A,1),2:size(A,2)); %% 取A的子矩阵if(size(R,1)<size(M,1)) %% 判断矩阵R的行数是否小于矩阵M的行数,如果小于进行下步:S=eye(size(M,1)-size(R,1)); %% 将S设置为维数等于矩阵M的行数减去矩阵R的行数维的单位矩阵V=zeros(size(M,1)-size(R,1),size(R,1)); %% 将V设置为矩阵行数等于M 的行数减去R的行数,列数等于矩阵R的列数F=zeros(size(R,1),size(M,1)-size(R,1)); %% 将F矩阵设置行数等于R的行数,列数等于矩阵M的行数减去矩阵R的行数R1=[S V;F R]; %% 将 S V F D 合成矩阵R1else R1=R; %% 如果不满矩阵R的行数小于矩阵M 的行数,则把R赋值给R1endP=R1*P;endP %% 输出正交矩阵PT=P*M %% 输出矩阵T,如果矩阵M的行数等于列数的话,T为上三角矩阵endif(x==4) %% 判断x的值是否等于4,等于4则进行Givens reduction%%***********Givens reduction**********%%disp('P*A=R')U=A; %% 将A赋值给Uw=size(A,1); %% w等于矩阵A的行数r=eye(w); %% 将r设置为维数为w的单位矩阵for k=1:w-1m=eye(size(A,1)); %% 将m设置为维数等于A的行数单位矩阵for i=2:size(A,1)P=eye(size(A,1));a=0; %% 将a是设置为0,方便求第一列前i个元素的平方和for j=1:iu=sqrt(a);a=a+A(j,1)^2;ends=sqrt(a); %% 将第一列前i个元素的平方开根P(1,1)=u/s; %% 将u/s赋值给旋转矩阵P的第一行的第一列P(i,i)=u/s; %% 将u/s赋值给旋转矩阵P的第i行和第i列P(i,1)=-A(i,1)/s; %% 将 -A(i,1)赋值非P的第i行的第一列P(1,i)=A(i,1)/s; %% 将 A(i,i)赋值给P的第一行的第i列m=P*m; %% P乘以矩阵m并赋值给mendA=m*A; %% 矩阵m*A赋值给AA=A(2:size(A,1),2:size(A,2)); %% 取A的子矩阵if(size(m,1)<w) %% 如果矩阵m的行数小于wc=eye(w-size(m,1)); %% 将c设置为维数等于w-矩阵m的行数的单位矩阵d=zeros(w-size(m,1),size(m,1));v=zeros(size(m,1),w-size(m,1));p=[c,d;v,m]; %% 进行和并矩阵elsep=m; %% 如果不满足矩阵m的行数小于w,则把m赋值给pendr=p*r;endP=r %% 将r赋值给正交矩阵P,并输出PR=P*U %% 输出矩阵R,若R的行数等于列数的话,R为上三角矩阵endend。
中科院矩阵分析与应用大作业1. 研究背景矩阵是数学领域中的重要概念之一,它在各个领域中都有广泛的应用。
在计算机科学中,矩阵常常用于图像处理、计算机视觉等领域;在数据分析中,矩阵则被用来描述数据之间的关系。
因此,深入研究矩阵的相关算法和应用,对于提高计算机科学和数据分析领域的研究水平具有重要意义。
2. 研究目的本次研究的主要目的是掌握矩阵分析的基本概念和相关算法,并将其应用于实际问题中,进一步提高对于矩阵分析的理解和应用能力。
3. 研究内容3.1 矩阵分解矩阵分解是矩阵分析中的一项重要任务,它将一个矩阵分解成为多个小的矩阵,从而更方便的进行处理。
常见的矩阵分解算法有:1.奇异值分解(SVD)2.QR分解3.LU分解4.特征值分解3.2 矩阵重构矩阵重构是指将矩阵进行转换、组合等操作,旨在从不同的角度探索和发现矩阵的内在规律。
常见的矩阵重构算法有:1.矩阵乘法2.矩阵转置3.矩阵拼接4.矩阵切片3.3 矩阵应用矩阵在各个领域的应用非常广泛,下面列举几个常见的应用场景:1.图像处理:将图像转化成为矩阵,对其进行矩阵分解、矩阵重构等操作,从而实现图像降噪、图像识别等功能。
2.推荐系统:利用矩阵分解的方法将原始数据转化为矩阵,再对其进行推荐系统的处理,从而为用户提供更好的推荐服务。
3.聚类分析:将大量数据转化为矩阵,从而利用聚类算法对其进行分析,发现数据之间的关系,进一步深入研究数据的内在规律。
4. 研究通过对于矩阵分解、矩阵重构、矩阵应用等领域的研究,我们可以得到以下:1.奇异值分解、QR分解、LU分解、特征值分解等矩阵分解算法各有优缺点,在实际应用中应该根据具体情况选用不同的算法。
2.矩阵乘法、矩阵转置、矩阵拼接、矩阵切片等矩阵重构算法可以帮助我们从不同的角度分析和处理矩阵,从而深入研究矩阵的内在规律。
3.矩阵在图像处理、推荐系统、聚类分析等领域有着广泛的应用,掌握矩阵分析算法可以帮助我们更好地解决实际问题。
第5章:线性判别函数第一部份:计算与证明1.有四个来自于两个类别的二维空间中的样本,其中第一类的两个样本为(1,4)T和(2,3)T,第二类的两个样本为(4,1)T和(3,2)T。
那个地址,上标T表示向量转置。
假设初始的权向量a=(0,1)T,且梯度更新步长k固定为1。
试利用批处置感知器算法求解线性判别函数g(y)=a T y的权向量。
解:第一对样本进行标准化处置。
将第二类样本更改成(4,1)T和(3,2)T. 然后计算错分样本集:g(y1) = (0,1)(1,4)T = 4 > 0 (正确)g(y2) = (0,1)(2,3)T = 3 > 0 (正确)g(y3) = (0,1)(-4,-1)T = -1 < 0 (错分)g(y4) = (0,1)(-3,-2)T = -2 < 0 (错分)因此错分样本集为Y={(-4,-1)T , (-3,-2)T }.接着,对错分样本集求和:(-4,-1)T+(-3,-2)T = (-7,-3)T第一次修正权向量a,以完成一次梯度下降更新:a=(0,1)T+ (-7,-3)T=(-7,-2)T再次计算错分样本集:g(y1) = (-7,-2)(1,4)T = -15 < 0 (错分)g(y2) = (-7,-2)(2,3)T = -20 < 0 (错分)g(y3) = (-7,-2)(-4,-1)T = 30 > 0 (正确)g(y4) = (-7,-2)(-3,-2)T = 25 > 0 (正确)因此错分样本集为Y={(1,4)T , (2,3)T }.接着,对错分样本集求和:(1,4)T +(2,3)T = (3,7)T第二次修正权向量a ,以完成二次梯度下降更新:a=(-7,-2)T + (3,7)T =(-4,5)T 再次计算错分样本集:g(y 1) = (-4,5)(1,4)T = 16 > 0 (正确) g(y 2) = (-4,5)(2,3)T = 7 > 0 (正确) g(y 3) = (-4,5)(-4,-1)T = 11 > 0 (正确) g(y 4) = (-4,5)(-3,-2)T = 2 > 0 (正确)现在,全数样本均被正确分类,算法终止,所得权向量a=(-4,5)T 。
矩阵分析及其应用3.1矩阵序列定义3.1设矩阵序列{应)},其中A«)=(#))£Cms,当k—oo, 佝时,称矩阵序列{A00}收敛,并称矩阵A=(佝)为矩阵序列{A00}的极限,或称{A00}收敛于A,记为lim A a)= A或A,k)-> A ks不收敛的矩阵序列称为发散的。
由定义,矩阵序列A(k)发散的充要条件为存在ij使得数列站发散。
类似地,我们可以定义矩阵收敛的Cauchy定义定义31矩阵序列{A00}收敛的充要条件为对任给£>0存在N(E),当k,l> N(E)时有IIA(k)-A(/)ll < £其中11.11为任意的广义矩阵范数。
例 1 A(n)e~nsin(-)n y,sin(R) k=l K 7如果直接按定义我们因为求不出A㈤的极限从而很难应用定义3.1证明收敛。
相反,由于t^< t^<v 1/m从而只要/充分大,则当m, n > /时就有nz sin(A)这样A")收定理3.1 A(k)->A的充要条件为HA'10-AII T O证明:利用广义矩阵范数的等价性定理,仅对co范数可以证明。
即ci IIA(k) -AIL < IIA(k) -All< c2 IIA(k) -AIL性质 1.设A(k,—> A mxn, B,k,—> B mxn>则a- A(k)+P • B(k) -> a- A+P B, V a,PeC性质2.设A(k)—> A mxn, B,k)—> B nx/,则A(k)由如一A B证明:由于矩阵范数地等价性,我们E以只讨论相容的矩阵范数。
IIA(k).B(k)-A-BII < II A(k) -B(k) -A-B(k)ll+IIAB(k)- A-BII<IIA(k)-AII-IIB(k)ll+IIAIMIB(k)-BII注意IIB(k)||_||BII,则结论可得。
第一章线性空间与线性变换(以下题目序号与课后习题序号不一定对应,但题目顺序是一致的,答案为个人整理,不一定正确,仅供参考,另外,此答案未经允许不得擅自上传)(此处注意线性变换的核空间与矩阵核空间的区别)1.9.利用子空间定义,)R对m C满足加(AR是m C的非空子集,即验证)(A法和数乘的封闭性。
1.10.证明同1.9。
1.11.rankA n A N rankA A R -==)(dim ,)(dim (解空间的维数)1.13.提示:设),)(-⨯==n j i a A n n ij (,分别令T i X X ),0,0,1,0,0( ==(其中1位于i X 的第i 行),代入0=AX X T ,得0=ii a ;令T ij X X )0,0,10,0,1,0,0( ==(其中1位于ij X 的第i 行和第j 行),代入0=AX X T ,得0=+++jj ji ij ii a a a a ,由于0==jj ii a a ,则0=+ji ij a a ,故A A T -=,即A 为反对称阵。
若X 是n 维复列向量,同样有0=ii a ,0=+ji ij a a ,再令T ij i X X ),0,1,0,0,,0,0( ='=(其中i 位于ij X 的第i 行,1位于ij X 的第j 行),代入0=AX X H ,得0)(=-++ij ji jj ii a a i a a ,由于0==jj ii a a ,ij ji a a -=,则0==ji ij a a ,故0=A1.14.AB 是Hermite 矩阵,则AB BA A B AB H H H ===)(1.15.存在性:令2,2HH A A C A A B -=+=,C B A +=,其中A 为任意复矩阵,可验证C C B B H H -==,唯一性:假设11C B A +=,1111,C C B B HH-==,且C C B B ≠≠11,,由1111C B C B A H H H -=+=,得C A A C B A A B HH =-==+=2,211(矛盾)第二章酉空间和酉变换(注意实空间与复空间部分性质的区别)2.8 法二:设~2121),,()0,0,1,0,0)(,,(X e e e e e e e n T n i ==(1在第i 行);~2121),,()0,0,1,0,0)(,,(Y e e e e e e e n T n j ==(1在第j 行) 根据此题内积定义⎩⎨⎧≠===j i j i X Y e e H j i 01),~~( 故n e e e ,,21是V 的一个标准正交基。
第五章特征值的估计及对称矩阵的极性本章主要讨论数值代数中的三个特殊理论,即特征值的估计广义特征值问题实对称矩阵(一般是Hermite矩阵)特征值的极小极大原理,其次也涉及到一些特征值和奇异值的扰动问题,最后简要地介绍矩阵直积的一些性质及其在线性矩阵方程求解方面的应用。
这几方面的内容,在矩阵的理论研究与实际应用当中都有着相当重要的作用。
5.1特征值的估计一、特征值的界首先给出直接估计矩阵特征值模的上界的一些方法定理 5.1 设A=(a rs) R n X1,令1 , ,M= ma彷总a sr|若表示A任一特征值,则的虚部Im()满足不等式|Im( )| M n(n21)|Im( )| ||A A T||2 / 2|Im( )| ||A A T||1n /2.证明:设x+i y为对应于的A的特征向量, 则A(x+i y)=( + i)(x+i y)其中=+ i.显然x,y为实向量,且x,y为线性无关的向量。
经整理A(x,y)=(x,y)B,其中B= 从而(x,y) T A(x,y)=(x,y) T(x,y)B展开有i 1 j iTT X y X X T T y yy X (求等式两边矩阵的对角元之和,可得 (x T x+y T y)=x T Ax+y T Ay(1) 等式两边矩阵的左上角单元减去右下角单元 可得:(x T x+y T y)=x T (A A T )y1) . 记 B=A A T ,则 |x T By| ||x||2||B||2||y||2 从而 1 1 1凶|2||B||2||y||2 /((||x||2)2 +(||y|2)2)利用 ab/(a 2+b 2) 1/2 可得 | | ||B||2 /2.2) .由于 |x T By| ||B X ||I ||y|| ||B||i ||X ||I ||y||从而 | | ||B||i ||x||i ||y|| /((||X |2)2 +(||y||2)2)易证明 ||x||i ||y|| /((||X ||2)2 +(||y||2) 2)n /2.(显然,不妨假设(||X ||2)2 +(||y||2)2=1,设HyH =t=cos (),则y 必为t e 的形式(为什么?) 从而极值转化为求解如下最大值问题:max ||X ||1,满足约束(||X ||2)2=1 t 2这样有均值不等式 ||x|h i n ||X ||2= 、、n (1 t 2)1/2,从而我们需要求解t(1 t 2)1/2的最大值,设t=cos() 可得t(1 t 2)1/2的最大值为1/2.从而得证。
单缝衍射的光强分布及缝宽测定目的要求1. 观察单缝的夫琅和费衍射现象及其随单缝宽度变化的规律,加深对光的衍射理论的理解。
2. 学习光强分布的光电测量方法。
3. 利用衍射花样测定单缝的宽度。
实验原理夫琅和费衍射是平行光的衍射,在实验中可借助两个透镜来实现,如图1所示。
与光轴平行的衍射光会聚于屏上P 0处,是中央亮纹的中心,其光强设为I 0;与光轴成θ角的衍射光束会聚于处,可以证明,处的光强为图1(1)式中: a 为狭缝宽度,λ为单色光的波长。
当u=0时,衍射光强有最大值。
当u=k π(k 为整数)时,衍射光强有极小值,对应于屏上的暗纹。
由于θ值实际上很小,因此可近似地认为暗纹对应的衍射角为θ≈k λ/a 。
两相邻暗纹之间都有一个次极大,其光强分布曲线如图2所示。
仪器用具光具座、He-Ne 激光器、可调单狭缝(固定单缝)、光电池及测距支架、光点检流计、投影仪(或读数显微镜)图2实验内容1. 开启激光,调节光路至测量状态。
2. 测量夫琅和费单缝衍射光强分布,作光强分布曲线。
3. 用暗纹的衍射角算出单缝的宽度,并与投影仪(或读数显微镜)直接测量结果比较。
4. 调节可变单缝的宽度,观察衍射图样的变化。
预习思考题1. 用He-Ne 激光做光源的实验装置是否满足夫琅和费衍射条件?为什么?2. 当缝宽增加一倍时,衍射花样的光强和条纹宽度会怎样改变?如缝宽减半,又怎样改变? 习题 一1.(1)因 cos sin sin cos nx nx nx nx ⎡⎤⎢⎥-⎣⎦cos sin sin cos x x x x ⎡⎤⎢⎥-⎣⎦= cos(1) sin(1)sin(1) cos(1)n x n x n x n x ++⎡⎤⎢⎥-++⎣⎦,故由归纳法知cos sin sin cos n nx nx A nx nx ⎡⎤=⎢⎥-⎣⎦。
(2)直接计算得4A E =-,故设4(0,1,2,3)n k r r =+=,则4(1)n k r k rA A A A ==-,即只需算出23,A A 即可。
LU分解说明文档
1.概述
在附件中的LU.rar文件中包含3份.m文件分别为LUfactor.m、LUFull.m、LUPart.m。
其中LUfactor为执行文件,其余为自己编写的函数。
用matlab打开LUfactor.m即可进行LU分解。
LUFull.m为完全主元法实现函数。
测试矩阵可为:[222;477;61822]。
LUPart.m为部分主元法实现函数。
测试矩阵:[12-34;4812-8;2321;-3-11 -4]和[234;467;825]
2.实现过程
(1)要求使用者从外部输入需要LU分解的方阵A;
(2)判断A是否为方阵;
(3)判断A是否奇异;
(4)判断A顺序主子式是否全部非0;
(5)若顺序主子式全部非0,调用函数LUFull使用完全主元法进行LU分解。
LUFull函数主要使用Dolittle公式实现算法。
详见源码。
(6)若顺序主子式含0,调用函数LUPart使用部分主元法进行LU分解。
算法实现的是基本的完全主元法计算过程。
详见源码。