如下:
线性方程组:A(mxn)X = b ------ (1)
A是m行n列(m>n)的行列式:A'是A的转置矩阵,将(1)变成
(A'A)X = A'b - - - - (2)
(A'A)是nxn阶方阵,它的逆矩阵称为广义逆矩阵。
(A'A)行列式不为零,方程组(2)有唯一解,且与(1)的最小二乘解相对应!此结论的证明也不复杂。
思想:
广义逆的思想可追溯到1903年(E)I弗雷德霍姆的工作,他讨论了关于积分算子的一种广义逆(他称之为伪逆)。
1904年,D希尔伯特在广义格林函数的讨论中,含蓄地提出了微分算子的广义逆。而任意矩阵的广义逆定义最早是由EH穆尔在1920年提出的,他以抽象的形式发表在美国数学会会刊上。
不是方阵的矩阵没有逆矩阵的概念,逆矩阵只对方阵定义的。
逆矩阵的定义:假设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,他能够使得AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。
如果矩阵A和B互逆,则AB=BA=I。由条件AB=BA以及矩阵乘法的定义可知,矩阵A和B都是方阵。再由条件AB=I以及定理“两个矩阵的乘积的行列式等于这两个矩阵的行列式的乘积”可知,这两个矩阵的行列式都不为0。
扩展资料:
对矩阵A施以初等行变换(初等列变换)就相当于在A的左边(右边)乘以相应的初等矩阵,所以可以同时对A和B施以相同的初等行变换(初等列变换)。这样,当矩阵A被变为时,就被变为A的逆矩阵。
广义逆阵(Generalized inverse)又称伪逆,一种对逆阵的推广。一般所说的伪逆是指摩尔-彭若斯广义逆,它是由E H Moore和Roger Penrose分别独立提出的。伪逆在求解线性最小二乘问题中有重要应用。
参考资料来源:百度百科——逆矩阵
一般来讲Moore-Penrose广义逆关于分量不连续,所以不要指望符号计算永远能解决问题,因为有时候参量不同的时候矩阵的秩也会不同如果你能事先知道矩阵是行满秩或者列满秩的,比如你的例子,那么就可以直接用
A^+
=
A'(AA')^{-1}
或
A^+
=
(A'A)^{-1}A'
如果这些都没有保障,那么你得自己去实现满秩分解A=BC,然后A^+=C^+
B^+,这里满秩分解可以用Gauss消去法实现,很简单的循环,比QR分解或SVD容易多了,自己写一下就行,当然,在消去过程中前面提到的需要根据参量讨论的问题仍然无法避免,取决于你的具体问题恰巧近几天正在做类似的事情。程序附上来太长了,告诉你方法吧。
对非奇异方阵,可使用初等变换计算矩阵的逆。具体就是:
在矩阵A右边添加一个同阶单位矩阵,变成(A|E),对它进行行变换把左边变换成单位矩阵,得到(E|B),B即是A的逆矩阵。行变换,即仅使用①交换两行、②某一行乘以一常数、③某一行乘以一常数后加到另一行 这三种方法,用C++编程实现应该不算太难。
对任意矩阵的广义逆,可先对矩阵进行满秩分解,设A=FG,则A^+=G^H (G G^H)^-1 (F^H F)^-1 F^H
上式中,A^+表示A的广义逆,G^H表示G的共轭转置,()^-1表示括号中矩阵的逆矩阵。
满秩分解可以通过初等变换编程实现,转置、矩阵乘法编程也不算太难。在矩阵M的奇异值分解中
·U的列(columns)组成一套对M的正交"输入"或"分析"的基向量。这些向量是MM的特征向量。
·V的列(columns)组成一套对M的正交"输出"的基向量。这些向量是MM的特征向量。
·Σ对角线上的元素是奇异值,可视为是在输入与输出间进行的标量的"膨胀控制"。这些是MM及MM的奇异值,并与U和V的列向量相对应。别的你都可以自己看教材,我就告诉你怎么求Moore-Penrose广义逆
先利用消去法得到满秩分解A=FG,其中F列满秩,G行满秩
然后A^+=G^+F^+,所以归结为求F^+和G^+
对于列满秩矩阵F而言,F^+=(F^F)^{-1}F^,这本质上就是最小二乘法
类似地,对于行满秩矩阵G而言,G^+=G^(GG^)^{-1}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)