矩阵求逆(二):逆矩阵

1.数学定义  

  定义:对于n阶矩阵A,如果有一个n阶矩阵B,使

        AB=BA=E

    则说矩阵A是可逆的,并把矩阵B称为A逆矩阵.

  定理:若矩阵A可逆,则|A|≠0.

  定理:若|A|≠0,则矩阵A可逆,且

        A-1=1/|A|*A*



2.算法实现

    1)矩阵的行列式

    ‘‘‘ <summary>
    ‘‘‘ 返回一个矩阵的行列式
    ‘‘‘ </summary>
    ‘‘‘ <param name="dMatrix">原矩阵</param>
    ‘‘‘ <returns></returns>
    ‘‘‘ <remarks></remarks>
    Public Shared Function DetOfMatrix(ByVal dMatrix As Matrix) As Determinant
        Dim tempDet As New Determinant(dMatrix.RowLength)
        For i = 1 To tempDet.Rank
            For j = 1 To tempDet.Rank
                tempDet.Item(i, j) = dMatrix.Item(i, j)
            Next
        Next
        Return tempDet
    End Function

    2)矩阵求逆

    ‘‘‘ <summary>
    ‘‘‘ 返回一个矩阵的逆矩阵
    ‘‘‘ </summary>
    ‘‘‘ <param name="iMatrix">原矩阵</param>
    ‘‘‘ <returns></returns>
    ‘‘‘ <remarks></remarks>
    Public Shared Function InverseMatrix(ByVal iMatrix As Matrix) As Matrix
        Dim TempMatrix As New Matrix(iMatrix.RowLength, iMatrix.ColLength)
        Dim TempDet As Determinant = Matrix.DetOfMatrix(iMatrix)
        Dim TempDetValue As Double = TempDet.value
        TempMatrix = Matrix.AdjointMatrix(iMatrix)
        MsgBox(TempDetValue)
        If Not TempDetValue = 0 Then
            Return (TempMatrix * (1 / TempDetValue))
        Else
            Return Nothing
        End If
    End Function
时间: 2024-10-12 20:56:02

矩阵求逆(二):逆矩阵的相关文章

Stanford公开课机器学习---4.Matlab/Octave 快速教程

Basic Operations 基本操作 a = 1.0000 15.0000 2.0000 0.5000 % ================format ================ >> format long >> a a = 1.000000000000000 15.000000000000000 2.000000000000000 0.500000000000000 % ================fprintf ================ >&g

【目录导航】线性代数系列博文

 目录导航 1.1矩阵及其运算(一):创建一个矩阵类 1.2矩阵及其运算(二):矩阵的运算 1.3矩阵及其运算(三):矩阵的转置 2.1行列式(一):创建一个行列式类 2.2行列式(二):全排列与逆序数 2.3行列式(三):n阶行列式 2.4 行列式(四):上三角行列式 3.1 矩阵求逆(一): 伴随矩阵 3.2 矩阵求逆(二): 矩阵的逆 (未完待续) 学习资源 1.可汗学院线性代数公开课 在这个课程里面,主讲者介绍了线性代数的很多内容,包括:矩阵,线性方程组,向量及其运算,向量空间,子空间,

二扩域(GF(2^m))中的逆矩阵

通常的逆矩阵可以用高斯消去法计算.十分有效.还可以使用LU分解,QR分解等. 二扩域中的逆矩阵则不同.看似简单,其实有别:它的所有元素定义在GF(2^m)中.从理论来看,似乎也可以用高斯消去法,只是计算规则 需要按照GF(2^m)中的运算规则. 二扩域下的矩阵与通常的矩阵一样,可以定义行列式.行列式定义之后,可以继续定义伴随式.如此,便可以给出一个形式上的逆矩阵.参见: https://math.stackexchange.com/questions/273054/how-to-find-mat

自适应滤波:矩阵求逆

作者:桂. 时间:2017-04-02  10:36:09 链接:http://www.cnblogs.com/xingshansi/p/6658655.html 声明:欢迎被转载,不过记得注明出处哦~  [读书笔记09] 前言 西蒙.赫金的<自适应滤波器原理>第四版第八章:最小二乘法.因为最小二乘涉及到矩阵求逆,因为通常对于秩缺矩阵其逆是不可求的,这就需要借助广义逆矩阵.而广义逆矩阵可以借助奇异值分解(SVD,Singularly Valuable Decomposition)进行求解. 有

由正交矩阵构建的仿射变换矩阵求逆的快速算法

原文地址http://blog.csdn.net/i_dovelemon/article/details/45827953 齐次坐标 我们都知道,在3D图形学中,所有的变换都可以划分为三种最基础的变换方式,分别为: 旋转变换 缩放变换 平移变换 通过对这三种变换进行组合,就能够实现任意的变换形式. 在3D坐标下,如果向量使用3D向量表示的话,对于这三种变换的处理方式如下: 旋转变换:乘法运算 缩放变换:乘法运算 平移变换:加法运算 也就是说,这三种变换的处理方式是不同的,旋转和缩放变换能够通过乘

矩阵求逆算法及程序实现(C++)

在做课题时,遇到了求多项式问题,利用了求逆方法.矩阵求逆一般使用简单的算法,还有快速算法 如全选主元高斯-约旦消元法,但本文程序主要写了简单的矩阵求逆算法定义法之伴随矩阵求逆公式如下,其中A可逆: ,其中是的伴随矩阵.. 1.给定一个方阵,非奇异(不是也可,程序有考虑): 2.由矩阵得到其行列式,求其值如|A|: 3.求其伴随矩阵: 4.得到其逆矩阵. 主要函数如下: 1 //得到给定矩阵src的逆矩阵保存到des中. 2 bool GetMatrixInverse(double src[N][

矩阵求逆c++实现

高斯消元法可以用来找出一个可逆矩阵的逆矩阵.设A 为一个N * N的矩阵,其逆矩阵可被两个分块矩阵表示出来.将一个N * N单位矩阵 放在A 的右手边,形成一个N * 2N的分块矩阵B = [A,I] .经过高斯消元法的计算程序后,矩阵B 的左手边会变成一个单位矩阵I ,而逆矩阵A ^(-1) 会出现在B 的右手边.假如高斯消元法不能将A 化为三角形的格式,那就代表A 是一个不可逆的矩阵.应用上,高斯消元法极少被用来求出逆矩阵.高斯消元法通常只为线性方程组求解. //**************

二维图形的矩阵变换(三)——在WPF中的应用矩阵变换

UIElement和RenderTransform 首先,我们来看看什么样的对象可以进行变换.在WPF中,用于呈现给用户的对象的基类为Visual类,但是Visual对象并不具有变换功能,具有变换功能的是它的子类UIElement.这个类也是非常底层的类了,几乎我们所有的常用控件都是继承自它,也就是说,基本上所有的UI对象都是可以应用变换的. 然后,我们在再来看看UIElement中变换种类.UIElement支持两种变换:RenderTransform和LayoutTransform,其中La

二维图形的矩阵变换(一)——基本概念

基本的二维变换可包括旋转.缩放.扭曲,和平移四种,              而这些几何运算则可以转换为一些基本的矩阵运算: 这几个变换都是线性的,但平移运算不是线性的,不能通过2*2矩阵运算完成.若要将点 (2, 1)在 x 方向将其平移 3 个单位,在 y 方向将其平移 4 个单位. 可通过先使用矩阵乘法再使用矩阵加法来完成此操作. 综合这几种基本运算,数学家们将其统一为一个3*3矩阵,存储形式如下: 由于表示仿射变换的矩阵的第三列总是(0,0,1),在存储矩阵的时候,大多只存成一个2*3的