矩阵&行列式
代数
排列
对换,对于一个排列操作,对于一个偶排列一次对换之后变为奇排列
反之变为偶排列
行列式
N阶行列式室友N^2个数aij(i,j = 1,2,3,...n)

行列式的数=\(\sum_ {j_1,j_2,....j_n}sgn(j_1j_2...j_n)a_{1j_1}a_{2j_2}...a_{nj_n}\)
\(sgn()对于排列的函数,若排列A为奇排列则,sgn(A) = -1,为偶排列,则sgn(A) = 1\)
那么对于行列式的计算也就是从第一排走到最后一排的所有路径分别*路径标号排列的sgn函数,所有路径中不能有相同列的情况
(从每行选一个数使他的列不同)
下面式子的行列式值为18

代码:
cin >> n;
for(int i = 1;i <= n;++ i)
for(int j = 1;i <= n;++ j)
z[i][j] = read();
for(int i = 1;i <= n;++ i)
y[i] = i;
int ans = 0;
do {
int res = 1;
for(int i = 1;i <= n;++ i)
for(int j = 1;j <= n;++ j)
if(jipailie(y)) res = res;
ans += ans;
}while(next_premutation(y + 1,y + n + 1));
复杂度\(O(n!*n)\)
引理
由行列式的的计算定义式的到
引理1
行列互换,值不变
因为(从每行选一个数使他的列不同)等价于从每一列选一个数是他的列不同
引理2
用一个数乘以行列式的某一行,等于用这个数乘以整个行列式的值
引理3
如果行列式中的某一行是两组数之和,那么这个行列式的的值等价于
该行拆为两组数,其他行不变的两个行列式的和
!
乘法分配率
引理4
对换行列式中两行的位置,行列式值变为相反数
因为交换后奇排列变为偶排列,偶排列变为奇排列,sgn函数相反
引理5
若有两行对应成比例,则行列式的值为0
提出一行系数后对换,发现将两行对换数值互为相反数,但行列式的值应不变,则行列式的值为0
引理6
若把某一行*上一个数加到另一行则行列式的值不变
证:加上后根据引理3拆开,那么对于其中一个行列式,据引理3他的值为0
余子式
余子式:选取某行的一个数,把该行该列抹掉,剩余的行列式就是余子式
设行列式\(D\)
\(|D| = \sum_{i = 1} ^ nD_{1i}*T_{1,i} * |D_{1i}的余子式|\)
T为系数\((-1)^{i + 1}\)//因为对于余子式的方案数一定,sgn函数便取决于i,j

证明:考虑定义,在余子式中选择方案
那么我们就可以每次化为余子式计算行列式的值
Cramer法则
对与一组方程组的系数行列式\(D\)

若行列式的值不为0
就可以把系数矩阵的每一列,分别用方程的值那一列替换掉
分别解出行列式的值,D(为系数行列式),D1(表示方程解替换掉第一列),D2....Dn
那么方程的解\(X_i\)为$ \frac{|D_i|}{|D|}$
简证:
对与第n列,那么我们对于第n列的每个系数*上X_n,对于前面的每一列i,前面的每一列i的值都成上X_i加到第n列上,这时第n行就变成了方程的值的那一列,且根据初等变换(引理6),行列式值不变
然后我们就有了\(O((n+1)!)\)的解方程的方法了
高斯消元
咕咕咕
矩阵
定义
由nm个数构成的n行m列的数表
种类:

矩阵的相等:
就是相等啊
矩阵的加法
矩阵大小必须一样,对应位置相加,没了额

矩阵的减法
矩阵大小一样,对应位置相减,没了额
矩阵的数乘
矩阵的每个位置上的元素都乘上这个数

矩阵的乘法
设矩阵\(A=(a_{ij})_{m*r},B=(b_{ij})_{r*k}\)那么,\(A*B=C(c_{ij})_{m*k}\)
\(c_{ij}=\sum_{k}a_{ik}*b_{kj}\)

矩阵乘法的性质

逆矩阵
定义:
设A是n阶方针,若存在n阶方阵B使得AB=BA=I(单位矩阵),则称A是可逆的(或者非奇异的),B是A的一个逆矩阵。否则称A是不可逆的(或奇异的)
定理1:逆矩阵唯一
若B,C为A的逆矩阵,则B = C
AB = BA = I , AC = CA = I -> B = C
证明: B = IB = CAB = C(AB) = CI = C
定理2:乘积后矩阵乘的行列式值为矩阵的行列式值相乘
定义det运算符
定理:设A,B为n阶方阵,则det(A,B)=det(A)det(B)
引理 : det(A1A2....As) = det(A1)det(A2)....det(As)
引理:det值不能互推逆矩阵的det乘积为det(I)<1>
求逆矩阵
1.待定系数法...可能可以吧
2.
A*矩阵就是吧A矩阵的每个位置都替换为它的代数余子式的值
插入一点逆矩阵的性质

对于第二条的证明,只要证明他们乘起来是否=I

定理:设A为n阶方阵,若A可逆,则线性方程组Ax = b有唯
一解\(X = A^{−1}b\)
证明:

矩阵的初等变换
定义:矩阵的初等行(列)变换
1.用一个非零的数乘以某行
2.将某一行的x倍加到另一行
3.互换两行
定义初等矩阵
由初等矩阵I经过一次初等变换而来的矩阵
如下图,有三种(上方三种初等变换)

初等矩阵可逆
性质
定理:用初等矩阵B 左(右)乘矩阵A,相当于对矩阵A实行相应的初等行(列)变换
等价与对矩阵A做初等矩阵B所做的同样的初等变换

定义:
定义:若矩阵A可以由矩阵B经过一系列初等变换得到,则称
B与A相抵(等价),记做\(A≅B\)
相抵是一种等价关系,即\(A≅B,A≅C;=>B≅C\)
用初等变换求逆矩阵
若找到一系列初等矩阵\(B_i\)
使得\(B_1B_2....B_i(A,I) = (I,A^{-1})\)
那么\({B_1B_2....B_i}\)的乘积就是\(A^{-1}\)
考虑考斯消元的过程
对于矩阵A最后的被通过初等变换消成了只有对角线为1的矩阵\(I\),那么那些初等变换的初等矩阵的乘积就是\(A^{-1}\)

然后你就有了多项式算法求逆矩阵!复杂度\(O(n^3)\)
矩阵&行列式的更多相关文章
- 【原创】开源Math.NET基础数学类库使用(15)C#计算矩阵行列式
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...
- c++实现矩阵类矩阵行列式,伴随矩阵,逆矩阵
//Matrix ver1.0 //只支持矩阵内部(方阵)的运算 #include<iostream> #include<math.h> using namespace std ...
- 开源Math.NET基础数学类库使用(15)C#计算矩阵行列式
原文:[原创]开源Math.NET基础数学类库使用(15)C#计算矩阵行列式 本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...
- BZOJ 4031 HEOI2015 小Z的房间 基尔霍夫矩阵+行列式+高斯消元 (附带行列式小结)
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可 ...
- Eigen求矩阵行列式 及 行列式本质
转置.伴随.行列式.逆矩阵 小矩阵(4 * 4及以下)eigen会自动优化,默认采用LU分解,效率不高 #include <iostream> #include <Eigen/Den ...
- hdu5852 Intersection is not allowed! 【矩阵行列式】
题意 给出\(n*n\)网格\((n<=10^5)\) 顶部有\(K\)个起点,底部有\(K\)个相对应的终点 每次只能向下或向右走 求有多少种从各个起点出发到达对应终点且路径不相交的路径? 对 ...
- UvaLive 6600 Spanning trees in a secure lock pattern 矩阵行列式
链接:https://icpcarchive.ecs.baylor.edu/index.php? option=com_onlinejudge&Itemid=8&page=show_p ...
- 6.10 省选模拟赛 小C的利是 高斯消元 矩阵行列式
LINK:小C的利是 想起来把这道题的题解写了 .一个常识:利是在广东那边叫做红包. 关于行列式的题目 不过我不太会23333..口胡还是可以的. 容易想到10分的状压.不过没什么意思. 仔细观察要求 ...
- Template -「矩阵 - 行列式」
#include <cstdio> int Abs(int x) { return x < 0 ? -x : x; } int Max(int x, int y) { return ...
随机推荐
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- bzoj3524/2223 [Poi2014]Couriers
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3524 http://www.lydsy.com/JudgeOnline/problem.ph ...
- onblur & onchange
本文地址:http://www.cnblogs.com/veinyin/p/7606914.html 两者均可用于验证是否输入数据 onblur : 表示不再是焦点,是 onfocus 的相反事件, ...
- windows下面安装Python和pip教程
第一步,先来安装Python.windows下面的Python安装一般是通过软件安装包安装而不是命令行,所以首先要在Python的官方主页上面下载最新的Python安装包.下载地址是:https:// ...
- Tinyos Makerules解读
Makerules 文件解读 位于/opt/tinyos-2.1.2/support/make #-*-Makefile-*- vim:syntax=make #$Id: Makerules,v 1. ...
- 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结
欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取): 今天分享一篇牛客网上的一个 ...
- (转)什么是CDC类(Communication Device Class)
全文地址:http://justmei.blog.163.com/blog/static/1160998532010321112522467/ 什么是CDC类 (Communication Devic ...
- Linux /etc/cron.d作用(转自 定时任务crontab cron.d)
原文链接:http://huangfuligang.blog.51cto.com/9181639/1608549 一.cron.d增加定时任务 当我们要增加全局性的计划任务时,一种方式是直接修改/et ...
- 设置NGINX进程分配至多核CPU提升性能
Nginx 配置文件 nginx.conf 首先需要找到 Nginx 的配置文件 nginx.conf 才能进行下面的操作,在LNMP一键安装包默认配置下,nginx.conf 存放在/usr/loc ...
- cgic实现输入文件名,打开文件的功能
a.c文件 #include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg. ...