title: 【线性代数】5-2:置换和余因子(Permutations and Cofactors)

categories:

  • Mathematic
  • Linear Algebra

    keywords:
  • Determinants
  • ‘Pivot Formula’
  • ‘Big Formula’
  • ‘Cofactors Formula’
  • Cofactors
  • Permutations

    toc: true

    date: 2017-11-03 09:50:36

Abstract: 行列式的几种求法,以及相关的衍生问题

Keywords: Determinants,‘Pivot Formula’,‘Big Formula’,‘Cofactors Formula’,Cofactors,Permutations

开篇废话

今天写的是行列式的三种计算方法,瞬间想到了孔乙己的茴香豆的四种写法,一个多少有点文化的人(被老师们解读为迂腐)却被一些没什么文化的人嘲笑挖苦;如果孔乙己是个那个时代的悲剧,那我们自己会不会成为这个时代的悲剧呢?读书无用论,某首富的“北大,清华大不如胆大”论,如果思维继续,结果最后肯定是喜闻乐见

The Pivot Formula

Pivot的方式求行列式的值,Pro. Stang说这是matlab的做法,也就是计算机求行列式一般通过消元后得到Pivot,然后将所有Pivots相乘,得到行列式的值,这里有个主意的地方,我们反复强调,如果不是满rank的话,Pivot必然在某些行或者列里面不存在,那么这个矩阵是奇异矩阵,行列式值为0。

能够支持Pivot的乘积等于行列式的原因是上文关于properties 中Rule5 是消元的主要过程,rule5 告诉我们消元前后行列式的值不变,但是有的时候我们不光要消元还要进行行交换,这个是随机次数的,所以行列式的值等于Pivot乘积的前面正负号不明确,故:

det(A)=±p11p22…pnn
det(A)=\pm p_{11}p_{22}\dots p_{nn}
det(A)=±p11​p22​…pnn​

从另一个角度讲,如果把消元过程用矩阵方式表达 PA=LUPA=LUPA=LU LU分解的矩阵形式,通过rule8 ,就能知道

det(P)det(A)=det(L)det(U)det(P)=±1det(L)=1det(A)=±det(U)
det(P)det(A)=det(L)det(U)\\
det(P)=\pm 1\\
det(L)=1\\
det(A)=\pm det(U)
det(P)det(A)=det(L)det(U)det(P)=±1det(L)=1det(A)=±det(U)

这样的话,U的对角线是由Pivot组成的,这个就是Pivot Formula的另一个切入点,都能证明行列式的pivot formula的正确性。

Pivot过程就是消元的过程,通过消元,得到行列式的值。

通过相乘的过程我们还能得到一个子矩阵的行列式,比如矩阵AAA的左上角的一块小的矩阵 A′A'A′ 他的行列式等于这个子矩阵覆盖的pivot的值(没有行变换)

det(A′)=p11p22…pkkif det(A′′)=p11p22…pk−1k−1pkk=det(A′)det(A′′)
det(A')=p_{11}p_{22}\dots p_{kk} \\
if \, det(A'')=p_{11}p_{22}\dots p_{k-1k-1}\\
p_{kk}=\frac{det(A')}{det(A'')}
det(A′)=p11​p22​…pkk​ifdet(A′′)=p11​p22​…pk−1k−1​pkk​=det(A′′)det(A′)​

The big Formula

本文为节选,完整内容地址:https://www.face2ai.com/Math-Linear-Algebra-Chapter-5-2转载请标明出处

【线性代数】5-2:置换和余因子(Permutations and Cofactors)的更多相关文章

  1. Pascal Hexagrammum Mysticum 的深度探索

        PASCAL . Hexagrammum Mysticum . (六角迷魂图) . 的深度探索 . 英中对比.英文蓝色,译文黑色,译者补充说明用紫红色 (已校完,但尚未定稿,想再整理并补充内容 ...

  2. POJ2369 Permutations(置换的周期)

    链接:http://poj.org/problem?id=2369 Permutations Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  3. Codeforces 987E Petr and Permutations(数组的置换与复原 、结论)

    题目连接: Petr and Permutations 题意:给出一个1到n的序列,Petr打乱了3n次,Um_nik打乱了7n+1次,现在给出被打乱后的序列,求是谁打乱的. 题解:因为给出了一个3* ...

  4. 【UVA 11077】 Find the Permutations (置换+第一类斯特林数)

    Find the Permutations Sorting is one of the most used operations in real life, where Computer Scienc ...

  5. UVA - 11077 Find the Permutations (置换)

    Sorting is one of the most usedoperations in real life, where Computer Science comes into act. It is ...

  6. UVa 11077 Find the Permutations(置换+递推)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35431 [思路] 置换+递推 将一个排列看作一个置换,分解为k个循 ...

  7. poj 2369 Permutations 置换

    题目链接 给一个数列, 求这个数列置换成1, 2, 3....n需要多少次. 就是里面所有小的置换的长度的lcm. #include <iostream> #include <vec ...

  8. poj 2369 Permutations (置换入门)

    题意:给你一堆无序的数列p,求k,使得p^k=p 思路:利用置换的性质,先找出所有的循环,然后循环中元素的个数的lcm就是答案 代码: #include <cstdio> #include ...

  9. 【CF736D】Permutations 线性代数+高斯消元

    [CF736D]Permutations 题意:有一个未知长度为n的排列和m个条件,第i个条件$(a_i,b_i)$表示第$a_i$个位置上的数可以为$b_i$.保证最终合法的排列的个数是奇数.现在有 ...

随机推荐

  1. 数据结构——java实现栈

    栈 定义: 栈是一种先进后出的数据结构,我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何元素的栈称为空栈 栈的java代码实现: 基于数组: import org.junit.jupite ...

  2. Centos7.5 安装JDK1.8 步骤

    1.下载JDK安装包 先下载好JDK1.8 的安装包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downlo ...

  3. DP动态规划学习笔记——高级篇上

    说了要肝的怎么能咕咕咕呢? 不了解DP或者想从基础开始学习DP的请移步上一篇博客:DP动态规划学习笔记 这一篇博客我们将分为上中下三篇(这样就不用咕咕咕了...),上篇是较难一些树形DP,中篇则是数位 ...

  4. 查准率(precision)和查全率(recall)

    一.理解查准率(precision)& 查全率(recall) 我们在平时常用到的模型评估指标是精度(accuracy)和错误率(error rate),错误率是:分类错误的样本数站样本总数的 ...

  5. MySQL数据库的创建&删除&选择

    1.MySQL数据库的创建 方法1和2      方法3.使用PHP脚本 PHP中使用mysqli_query函数来创建或删除MySql数据库 mysqli_query函数:两个参数 返回值:执行成功 ...

  6. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  7. iOS 如何判断一个点在圆、方框、三角形区域内?

    如何判断一个点是不是在方框(CGRect).圆(Circle).三角形(Triangle)内呢? 1.方框 //苹果官方方法可以判断 + (BOOL)point:(CGPoint)point inSq ...

  8. Redis 学习-Redis Sentinel

    一.启动服务 1. 配置文件 sentinel.conf daemonize yes # 是否守护进程启动 pidfile "/var/run/redis-sentinel-26379.pi ...

  9. 【Hibernate】入门

    一.Hibernate框架的概述 1.1 什么是Hibernate 1.2 Hibernate优点 二.Hibernate的日志记录 三.Hibernate 入门程序 3.1 引入依赖(5.x版本) ...

  10. goroutine的设计与实现

    goroutine背后的系统知识 http://www.sizeofvoid.net/goroutine-under-the-hood/ 下周写完