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. Project Oberon

    Project Oberon Project Oberon  http://www.projectoberon.com/ Project Oberon 28.11.2018 / 11.12.2018 ...

  2. 货币转换B

    描述 人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮ ...

  3. VBA常量(八)

    常量是一个命名的内存位置,用于保存脚本执行期间固定(无法更改)的值.如果用户试图更改常量值,则脚本执行结束时会出现错误.常量声明与声明变量相同. 以下是命名常量的规则 - 常量名称必须使用一个字母作为 ...

  4. [Lua性能] 小试验一例

    local s1 = os.clock() local list1 = {} , do list1[#list1 + ] = end local e1 = os.clock() print(" ...

  5. 初学VUE 走马灯效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 使用nodejs连接mysql数据库实现增删改查

      首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...

  7. laravel中引入composer安装在vendor中的第三方组件

    一.安装第三方组件 方法一:使用命令行安装第三方(已phpword为例): composer require phpoffce/phpword ^v0..* 方法二: 修改主项目composer.js ...

  8. sql语句查询结果中添加自增列

    SELECT Row_Number() over ( order by getdate() ) as init , * FROM 表名

  9. 4.Java集合-ArrayList实现原理及源码分析

    一.ArrayList概述: ArrayList 是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存 ArrayList不是线程安全的,只能用在单线程的情况 ...

  10. pytorch训练模型的一些坑

    1. 图像读取 opencv的python和c++读取的图像结果不一致,是因为python和c++采用的opencv版本不一样,从而使用的解码库不同,导致读取的结果不同. 详细内容参考:https:/ ...