矩阵的特征分解&奇异值分解
许多数学对象可以通过将它们分解成多个组成部分或者找到它们的一些属性来更好地理解。这些属性是通用的,而不是由我们选择表示它们的方式所产生的(也就是内在固有的)。就像整数可以分解为质因数,比如,12=2×2×3,从这个表达式中我们可以获得一些有用的信息,比如12不可以被5整除,或者12的倍数可以被3整除。
特征分解是使用最广泛的矩阵分解之一,它将矩阵分解成一组特征向量和特征值。方阵A的特征向量是指与A相乘后相当于对该向量进行缩放的非零向量v:Av=λv。假设方阵A有n个线性无关的特征向量和对应特征值,将它们按降序排列连接成一个矩阵V和Λ,那么的特征分解可以记作:A=Vdiag(Λ)V-1。
与特征分解类似,奇异值分解(SVD)是将矩阵分解为奇异向量和奇异值。奇异值分解有更广泛的应用:每个实数矩阵都有一个奇异值分解,但是不一定都有特征分解。例如,非方阵的矩阵没有特征分解,但是可以有奇异值分解。奇异值分解将矩阵A分解成三个矩阵的乘积:A=UDVT。假设A是一个m×n的矩阵,那么U是一个m×m的矩阵,D是一个m×n的矩阵,V是一个n×n的矩阵。矩阵U和V都定义为正交矩阵,而矩阵D定义为对角矩阵(多余的行/列补0)。对角矩阵D对角线上的元素称为矩阵A的奇异值,矩阵U的列向量称为左奇异向量,矩阵V的列向量称为右奇异向量。
事实上,我们可以用与A相关的特征分解去解释A的奇异值分解。A的左奇异向量是AAT的特征向量;A的右奇异向量是ATA的特征向量;而A的非零奇异值是ATA特征值的平方根,同时也是AAT特征值的平方根。