资源描述:
《matrix decomposition, fractorization》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、矩阵分解编辑矩阵分解(decomposition, factorization)是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(奇异值)分解等,常见的有三种:1)三角分解法 (TriangularFactorization),2)QR分解法(QRFactorization),3)奇异值分解法(SingularValueDecompostion)。目录1三角分解法2QR分解法3奇异值分解法1三角分解法编辑三角分解法是将原正方(square) 矩阵分解成一个
2、上三角形矩阵 或是排列(permuted)的上三角形矩阵和一个下三角形矩阵,这样的分解法又称为LU分解法。它的用途主要在简化一个大矩阵的行列式值的计算过程,求反矩阵,和求解联立方程组。不过要注意这种分解法所得到的上下三角形矩阵并非唯一,还可找到数个不同的一对上下三角形矩阵,此两三角形矩阵相乘也会得到原矩阵。MATLAB以lu函数来执行lu分解法,其语法为[L,U]=lu(A)。2QR分解法编辑QR分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵,所以称为QR分解法,与此正规正交矩阵的通用符号Q有
3、关。MATLAB以qr函数来执行QR分解法,其语法为[Q,R]=qr(A)。3奇异值分解法编辑奇异值分解 (singularvaluedecomposition,SVD)是另一种正交矩阵分解法;SVD是最可靠的分解法,但是它比QR分解法要花上近十倍的计算时间。[U,S,V]=svd(A),其中U和V分别代表两个正交矩阵,而S代表一对角矩阵。和QR分解法相同,原矩阵A不必为正方矩阵。使用SVD分解法的用途是解最小平方误差法和数据压缩。MATLAB以svd函数来执行svd分解法,其语法为[S,V,D]
4、=svd(A)。QR&RQFactorizationfromthedocumentation(here isapagethatshowsitthough).Tousethisversion,importrqlikethis:fromscipy.linalgimportrqAlternatively,youcanusethemorecommon QRfactorization andwithsomemodificationswriteyourownRQfunction. fromscipy.lina
5、lgimportqrdefrq(A):Q,R=qr(flipud(A).T)R=flipud(R.T)Q=Q.TreturnR[:,::-1],Q[::-1,:]RQfactorizationisnotunique.Thesignofthediagonalelementscanvary.Incomputervisionweneedthemtobepositivetocorrespondtofocallengthandotherpositiveparameters.Togetaconsistentr
6、esultwithpositivediagonalyoucanapplyatransformthatchangesthesign.Trythisonacameramatrixlikethis:#factorfirst3*3partofPK,R=rq(P[:,:3])#makediagonalofKpositiveT=diag(sign(diag(K)))K=dot(K,T)R=dot(T,R)#TisitsowninverseTheRQdecompositiontransformsamatrix
7、A intotheproductofanuppertriangularmatrix R (alsoknownasright-triangular)andanorthogonalmatrix Q.TheonlydifferencefromQRdecompositionistheorderofthesematrices.QRdecompositionisGram–SchmidtorthogonalizationofcolumnsofA,startedfromthefirstcolumn.RQdecom
8、positionisGram–SchmidtorthogonalizationofrowsofA,startedfromthelastrow.格拉姆-施密特正交化[编辑](重定向自Gram-Schmidt正交化)线性代数向量 · 矩阵 · 行列式 · 线性空间[显示]向量[显示]矩阵与行列式[显示]线性空间与线性变换·查 ·论 ·编在线性代数中,如果内积空间上的一组向量能够组成一个子空间,那么这一组向量就称为这个子空间的一个基。Gram-Schmidt正交化提供了一种方法,能够