行列式(determinant)求值

2023-11-08

如果A是一个矩阵(n*n方阵),则det(A)或| A |表示和A对应的n阶行列式,是一个标量。
行列式值直接求解(1阶行列式的值等于其唯一元素值):

  • 2阶矩阵的行列式: ∣ a 11 a 12 a 21 a 22 ∣ = a 11 a 22 − a 12 a 21 \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} =a_{11} a_{22} - a_{12}a_{21} a11a21a12a22=a11a22a12a21

  • 3阶矩阵的行列式: ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 − a 11 a 23 a 32 − a 12 a 21 a 33 \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix} =a_{11} a_{22} a_{33} + a_{12} a_{23} a_{31} + a_{13} a_{21} a_{32} - a_{13} a_{22} a_{31} - a_{11} a_{23} a_{32} - a_{12}a_{21}a_{33} a11a21a31a12a22a32a13a23a33=a11a22a33+a12a23a31+a13a21a32a13a22a31a11a23a32a12a21a33


代数余子式的概念:

n阶行列式中,位于第 i i i j j j列的元素 a i j a_{ij} aij,划去其所在的行和列,剩下的n-1阶行列式称为 a i j a_{ij} aij的余子式,余子式的值乘以 ( − 1 ) i + j (-1)^{i+j} (1)i+j就是 a i j a_{ij} aij的代数余子式的值。

代数余子式可以简化行列式值的求解,因为有如下定理:行列式的值等于,它其中任意行(或列)所有元素与其代数余子式乘积的和。

举例说明:

以下3阶行列式:

∣ 3 5 1 1 2 3 4 2 1 ∣ \begin{vmatrix} 3 & 5 & 1 \\ 1 & 2 & 3 \\ 4 & 2 & 1 \end{vmatrix} 314522131

其值为: 3 ∗ 2 ∗ 1 + 5 ∗ 3 ∗ 4 + 1 ∗ 1 ∗ 2 − 3 ∗ 3 ∗ 2 − 5 ∗ 1 ∗ 1 − 1 ∗ 2 ∗ 4 = 37 3*2*1+5*3*4+1*1*2-3*3*2-5*1*1-1*2*4 = 37 321+534+112332511124=37

若取最后一行元素(4、2、1)分解为代数余子式求解:
4的余子式为:

∣ 5 1 2 3 ∣ \begin{vmatrix} 5 & 1 \\ 2 & 3 \end{vmatrix} 5213

4在第3行第1列(或第2行第0列,虽不影响结果,但行列式的行列都是从1开始数),所以代数余子式值为 ( − 1 ) 3 + 1 ∗ ( 5 ∗ 3 − 1 ∗ 2 ) = 13 (-1)^{3+1}*(5*3-1*2) = 13 (1)3+1(5312)=13
同理2和1的代数余子式值分别为-8、1。所以行列式的值为 4 ∗ 13 + 2 ∗ ( − 8 ) + 1 ∗ 1 = 37 4*13+2*(-8)+1*1 = 37 413+2(8)+11=37


行列式还有如下性质:

  • 在行列式中,某一行(列)有公因子k,则可以提出k
    在这里插入图片描述

  • 在行列式中,某一行(列)的每个元素是两数之和,则此行列式可拆分为两个相加的行列式
    在这里插入图片描述

  • 交换某两行(或两列)行列式值的符号改变。

  • 行列式某一行(或列)元素全是0,则值为0。

  • 行列式某一行(或列)乘以一个常数加到另一行(或列)上,行列式值不变。


利用最后一个性质可以简化行列式值求解(行列式值的简单求法):

我们可以经过变换将行列式最后一行转化为只有最后一个元素不为0(只要用最后一列分别乘以某个数加到其他列上,总能把最后一行非末元素变为0的)。
然后利用行列式代数余子式展开求值法,可得此行列式值等于最后元素乘以其余子式的值。而其余子式也可以用以上方法进行变换,转化为最后行只有末元素不为零……
事实上,我们能够经过一系列转换,将行列式对角线下面的所有元素都转化为零,然后求值,这时候行列式的值等于位于其对角线上的所有元素的乘积。

下面的java程序递归实现了将行列式转为三角行列式(对角线下元素全为0)的步骤——

void setDet(double[][] det_, int k) {    //转换会改变参数det_,k为行列式的阶数。
    if(k == 1){
        return;
    }else{
        //如果行列式右下角元素为0,则通过减去一列保证其不为0
        if(det_[k-1][k-1] == 0){
            for(int j=0; j<k-1; j++){
                if(det_[k-1][j] != 0){
                    for(int i=0; i<k; i++){
                        det_[i][k-1] -= det_[i][j];
                    }
                    break;
                }
            }
        }
        
        double last = det_[k-1][k-1];
        for(int j=0; j<k-1; j++){
            double div = -det_[k-1][j] / last;
            for(int i=0; i<k; i++){
                det_[i][j] += div * det_[i][k-1];
            }
        }
        setDet(det_, k-1);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

行列式(determinant)求值 的相关文章

  • RedisJSON介绍

    RedisJSON 是一种高性能 JSON 文档存储 允许开发人员构建现代应用程序 它在内存中存储和处理 JSON 以亚毫秒级支持每秒数百万次操作响应时间 JSON 文档的原生索引 查询和全文搜索允许开发人员创建二级索引 快速查询数据 企业
  • 微电网日前优化调度 。算例有代码(1)

    个人电气博文传送门 学好电气全靠它 个人电气博文目录 持续更新中 符号说明 问题1 求解 经济性评估方案 若微网中蓄电池不作用 且微网与电网交换功率无约束 在无可再生能源和 可再生能源全额利用两种情况下 分别计算各时段负荷的供电构成 kW

随机推荐

  • 跑马灯-------寄存器版本

    拿到一个工程模板 首先要编译 编译成功之后再删除main 内容 这样编译不会出错 程序步骤 配置时钟使能寄存器 RCC AHB1ENR寄存器 用来时钟使能 然后 跑马灯IO口是PF9 PF10 GPIOF在RCC AHB1ENR 中是第五位
  • Eclipse 插件开发中使用Target Platform

    使用Eclipse IDE做插件 Plugin 开发的时候 有时会遇到开发的平台跟当前Eclipse版本不一致的问题 解决办法之一就是在当前项目中定义自己的target platform 文件 创建Target Platform文件 1 创
  • 服务降级、熔断、限流

    目录 目录 1 概念 1 1 降级 1 1 1 常见降级 1 1 2 示例 1 2 熔断 1 2 1 熔断设计 1 2 2 示例 1 3 限流 1 3 1 算法 1 3 2 示例 2 区别 3 案例 1 概念 1 1 降级 服务降级处理是在
  • java 判断两个字符串的字符集是否相同

    问题描述 给定两个字符串判断它们的字符集是否相同 例如 aaabbcc 和 abc 的字符集是相同的 字符集都是 a b c 解题方法 这题与变形词不同在于仅仅要求字符集相同 对数量和长度没有要求 而变形词是要求重复出现的次数也要相同 可以
  • 基于selenium的twitter博文评论爬虫

    技术合作联系 13958075150 1 首次登录获取cookies并存为文件 from selenium import webdriver import time import json br webdriver Chrome br ge
  • 【nacos】5.2 @RefreshScope + @Value 注解 自动刷新配置

    返回首页 gt 笔记 Spring Cloud Alibaba Nacos 接上节 spring cloud Nacos 实现统一配置管理 1 问题 如何不启动spring boot项目自动更新 Value 注解的值 2 方案 类 方法 属
  • 螺旋矩阵的python实现

    问题描述 对于一个 n 行 m 列的表格 我们可以使用螺旋的方式给表格依次填上正整数 我们称填好的表格为一个螺旋矩阵 例如 一个 4 行 5 列的螺旋矩阵如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12
  • eclipse indigo版本连接oracle XE(图解)

    讲在题前 oracle 的各个版本对应的驱动名称 oracle 不同版本的驱动 是对应不对的JDK版本的 例如JDK是1 4的话 你需要的oracle的JDBC的驱动包名称为 ojdbc14 jar 例如JDK是1 4的话 你需要的orac
  • C语言——字符串翻转

    C语言系列文章 C语言 判断回文数 对称数 字符串翻转 C语言系列文章 前言 字符串翻转 复习时间 C语言代码 总结 前言 哈喽 小伙伴们 最近在复习C语言的基础语法 从0开始 所以今天的题目比较简单 也就是我们最常见的字符串翻转问题 这道
  • go语言详解-----包(package)引入

    一 go语言基础 1 每一个可运行的go程序必须要有一个main 包 package 即package main 并且该main包中必须要有一个main函数 这是一个入口函数 2 一个包中的描述符要能够被其他的包引用 那么该包中的相关描述符
  • Matlab 散点图(Scatter)和颜色图(Colormap)

    目录 一 什么是散点图 二 什么数据需要用散点图来呈现 三 matlab 中的颜色如何表示和调用 ColorOrder LineStyleOrder 应用实例 四 颜色和透明度在散点图中的灵活应用 二维散点图 三维散点图 数据分组 五 Sc
  • Android O(8.0)以上系统使用通知

    前言 根据 第一行代码 第二版 第八章中通知的写法 在我自己手机上调试的时候没有任何反应 查阅资料后发现 因为我的手机系统是MIUI10 3版本 为Android 9系统 而在Android 8系统上对通知进行了修改 引入了消息通道 Not
  • Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)

    Dynamic CRM9 0 环境安装部署手册 Dynamic 365和ADFS配置安装过程踩了一些坑 拿出来和大家记录分享一下 目录 Dynamic CRM9 0 环境安装部署手册 一 Active Directory 和 IIS 的安装
  • pgsql:跨库访问其他数据库

    在mssql或mysql中 跨库访问其他数据库是很简单的 用 数据库名 表名 即可访问 但在pgsql中跨库访问就稍微麻烦一些 需要做一些前期准备 以下使用了自带的扩展插件postgres fdw来创建跨库链接 开启扩展插件 CREATE
  • element-ui+vue使用时遇到的坑

    从事前端工作也有几年了 大大小小的项目也做了不少 遇到过许多的坑 有时候项目太忙 没有那么多的时间来整理一些知识点 挺吃亏的 因为我始终相信不总结就相当于没学到东西 所以最近开始写起了博客 我深知前端大佬比比皆是 但这也仅仅是我想要对自己负
  • 二叉树基本代码实现

    目录 1 二叉树的链式结构 2 二叉树的遍历 2 1先序遍历 2 2中序遍历 2 3后序遍历 3 二叉树的基本操作 3 1求二叉树结点个数 3 1 1全局遍历 3 1 2递归的思想分治 3 1 3局部变量 3 2求二叉树叶子结点个数 3 3
  • 编译Linux报错/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start‘:

    报错信息 解决方法 改成编译动态库
  • 构造方法的访问级别之private

    构造方法的访问级别 public protected private 默认访问级别都可以 在此重点记录由private修饰的构造方法 private修饰的构造方法的访问级别 当构造方法别声明为private时 就意味着只有当前类的方法可以调
  • js-数组坍塌

    什么是数组坍塌 当数组执行删除单元格操作时 被删除单元 之后的单元 会前移 进而顶替被删除单元 出现在被删除单元的位置上 造成数组长度减少情况 这样的现象称为数组坍塌 var arr a b c d e for var i 0 i lt a
  • 行列式(determinant)求值

    如果A是一个矩阵 n n方阵 则det A 或 A 表示和A对应的n阶行列式 是一个标量 行列式值直接求解 1阶行列式的值等于其唯一元素值 2阶矩阵的行列式 a