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

  • 2阶矩阵的行列式:∣a11a12a21a22∣=a11a22−a12a21\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} =a_{11} a_{22} - a_{12}a_{21}∣∣∣∣​a11​a21​​a12​a22​​∣∣∣∣​=a11​a22​−a12​a21​

  • 3阶矩阵的行列式:∣a11a12a13a21a22a23a31a32a33∣=a11a22a33+a12a23a31+a13a21a32−a13a22a31−a11a23a32−a12a21a33\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}∣∣∣∣∣∣​a11​a21​a31​​a12​a22​a32​​a13​a23​a33​​∣∣∣∣∣∣​=a11​a22​a33​+a12​a23​a31​+a13​a21​a32​−a13​a22​a31​−a11​a23​a32​−a12​a21​a33​


代数余子式的概念:

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

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

举例说明:

以下3阶行列式:

∣351123421∣\begin{vmatrix} 3 & 5 & 1 \\ 1 & 2 & 3 \\ 4 & 2 & 1 \end{vmatrix}∣∣∣∣∣∣​314​522​131​∣∣∣∣∣∣​

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

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

∣5123∣\begin{vmatrix} 5 & 1 \\ 2 & 3 \end{vmatrix}∣∣∣∣​52​13​∣∣∣∣​

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∗(5∗3−1∗2)=13
同理2和1的代数余子式值分别为-8、1。所以行列式的值为4∗13+2∗(−8)+1∗1=374*13+2*(-8)+1*1 = 374∗13+2∗(−8)+1∗1=37


行列式还有如下性质:

  • 在行列式中,某一行(列)有公因子k,则可以提出k

  • 在行列式中,某一行(列)的每个元素是两数之和,则此行列式可拆分为两个相加的行列式

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

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

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


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

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

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

void setDet(double[][] det_, int k) {    //转换会改变参数det_,k为行列式的阶数。if(k == 1){return;}else{//如果行列式右下角元素为0,则通过减去一列保证其不为0if(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);}
}

行列式(determinant)求值相关推荐

  1. 行列式求值Java语言实现———线性代数

    目录 前言 一.对行列式的某行或某列进行操作 二.缩小矩阵的大小 三.正负号处理和值存储之后进行除法运算 四.代码使用过程 五.整体代码 前言 行列式求值对于刚刚学习完线性代数的大学生再熟悉不过了,同 ...

  2. c++ 将行列式化为上三角行列式,并求值。

    c++ 将行列式化为上三角行列式,并求值. #include<stdio.h> #include<iostream> using namespace std;bool op(d ...

  3. 高斯消元与行列式求值 part1

    两道模板题,思路与算法却是相当经典. 先说最开始做的行列式求值,题目大致为给一个10*10的行列式,求其值 具体思路(一开始看到题我的思路): 1.暴算,把每种可能组合试一遍,求逆序数,做相应加减运算 ...

  4. 2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)

    1.方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值.det(A):求方阵A所对应的行列式的值. >> format rat; > ...

  5. 行列式求值 按照代数余子式求和 基于python

    行列式求值 按照代数余子式求和 基于python 本代码固定了行索引,从一开始 代数余子式百度百科介绍 import numpy as npn_array = np.array([[1,2,3,4], ...

  6. C语言 n*n矩阵求值及求逆矩阵

    求出矩阵的值以及输出逆矩阵,英语不好,略拗口. 上代码: #include<stdio.h> #include<string.h> #include<math.h> ...

  7. c语言逆值,C语言 n*n矩阵求值及求逆矩阵

    求出矩阵的值以及输出逆矩阵,英语不好,略拗口. 上代码: #include #include #include int map1[110][110],i,j,k,l,m,n,p,vis[110][11 ...

  8. 中南大学 科学计算与MATLAB语言 11矩阵求值

    中南大学 科学计算与MATLAB语言 11矩阵求值 矩阵求值主要包括 矩阵的行列式值 矩阵的秩 矩阵的迹 矩阵的范数 矩阵的条件数 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称方阵所 ...

  9. matlab - 特殊矩阵、矩阵求值、稀疏矩阵

    学习视频 1.特殊矩阵 1.1 通用特殊矩阵 format % 零矩阵(全0) 幺矩阵(全1) 单位矩阵 % zeros ones eye rand(生成0~1的随机元素) randn(生成均值为1, ...

最新文章

  1. 记录-MySQL中的事件调度Event Scheduler
  2. 将python3.1+pyqt4打包成exe
  3. 关于变量作用域的一点整理
  4. php url传递参数_python+Requests接口自动化测试之传递 URL 参数
  5. 船舶定位实时查询系统_真趣:IDC机房人员定位系统,位置实时监测,巡检路线智能规划...
  6. 不使用加减乘除符号计算加法
  7. 软件设计模式之单例模式
  8. 基础集合论 第一章 3 集合论的公式和条件
  9. Tomcat下载及安装(Windows)
  10. 卡巴斯基v6.0激活码
  11. 2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版!!!!!
  12. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)
  13. 电子电路学习笔记(2)——电容
  14. iphone测试内存读取速度软件,iPhone7内存不同读写速度有差? 实测差距惊人!
  15. 骁龙778g4g和5g区别
  16. Cglib入门到使用
  17. 荒岛余生2java攻略_荒岛余生2时空探秘_荒岛余生2:时空探秘游戏心得与记录_安卓应用游戏下载- AppChina应用汇...
  18. 利用matlab实现对图片的拼接
  19. 【论文阅读】CCNet(IEEE TPAMI 2020 ICCV 2019)
  20. 一款免费的Excel作图插件

热门文章

  1. 大班科学计算机的发明应用教案,大班科学教案:小小发明家.doc
  2. 国产chatgpt:基于chatGLM微调nlp信息抽取任务
  3. 华硕主板BIOS设置U盘启动教程
  4. 【软考信安】入侵检测技术原理应用
  5. windows批处理命令手册
  6. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数
  7. java中的 dispose_RxJava2 中多种取消订阅 dispose 的方法梳理( 源码分析 )
  8. 【SQLServer】windows身份验证和sa都被禁用解决方法
  9. 关于ansys及其套件(可集成)的安装避坑指南
  10. Java中自然对数E怎么调用