代数


排列

对换,对于一个排列操作,对于一个偶排列一次对换之后变为奇排列

反之变为偶排列

行列式

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)\)

矩阵&行列式的更多相关文章

  1. 【原创】开源Math.NET基础数学类库使用(15)C#计算矩阵行列式

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...

  2. c++实现矩阵类矩阵行列式,伴随矩阵,逆矩阵

    //Matrix ver1.0 //只支持矩阵内部(方阵)的运算 #include<iostream> #include<math.h> using namespace std ...

  3. 开源Math.NET基础数学类库使用(15)C#计算矩阵行列式

    原文:[原创]开源Math.NET基础数学类库使用(15)C#计算矩阵行列式                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...

  4. BZOJ 4031 HEOI2015 小Z的房间 基尔霍夫矩阵+行列式+高斯消元 (附带行列式小结)

    原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4031 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可 ...

  5. Eigen求矩阵行列式 及 行列式本质

    转置.伴随.行列式.逆矩阵 小矩阵(4 * 4及以下)eigen会自动优化,默认采用LU分解,效率不高 #include <iostream> #include <Eigen/Den ...

  6. hdu5852 Intersection is not allowed! 【矩阵行列式】

    题意 给出\(n*n\)网格\((n<=10^5)\) 顶部有\(K\)个起点,底部有\(K\)个相对应的终点 每次只能向下或向右走 求有多少种从各个起点出发到达对应终点且路径不相交的路径? 对 ...

  7. UvaLive 6600 Spanning trees in a secure lock pattern 矩阵行列式

    链接:https://icpcarchive.ecs.baylor.edu/index.php? option=com_onlinejudge&Itemid=8&page=show_p ...

  8. 6.10 省选模拟赛 小C的利是 高斯消元 矩阵行列式

    LINK:小C的利是 想起来把这道题的题解写了 .一个常识:利是在广东那边叫做红包. 关于行列式的题目 不过我不太会23333..口胡还是可以的. 容易想到10分的状压.不过没什么意思. 仔细观察要求 ...

  9. Template -「矩阵 - 行列式」

    #include <cstdio> int Abs(int x) { return x < 0 ? -x : x; } int Max(int x, int y) { return ...

随机推荐

  1. 第一周 ch01 课下测试

    1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对系统的某个部分加速时,其对 ...

  2. PHP文本式留言板——php经典实例

    文件结构: index.php 主页和添加页 show.php 查看留言页 ly.db 文本保存页 doAdd.php 添加功能页 doDel.php 删除功能页  index.php <htm ...

  3. LDA线性判别分析

    LDA线性判别分析 给定训练集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的近,异类样例点尽可能的远,对新样本进行分类的时候,将新样本同样的投影,再根据投影得到的位置进行判断,这个新样本的 ...

  4. 76.ZYNQ-用PS控制DDR3内存读写

    本编文章的目的主要用简明的方法对DDR3进行读写,当然这种方式每次读写都需要CPU干预,效率是比较低的,但是这是学习的过程吧. 本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验 ...

  5. onvif客户端

    前言 做开发有8年时间了,ffmpeg和onvif与我是特别有缘的了(说着玩的,我更认为是因为他们确实强大^_^). ffmpeg在毕业设计时就有用到,5年后做windows.linux播放库时又有用 ...

  6. python安装模块的时候报错error: command 'gcc' failed with exit status 1

    [情况] 在写Python代码的时候,需要用到psutil模块,需要安装. 但是在安装时,报错:error: command 'gcc' failed with exit status 1 [解决步骤 ...

  7. Producer Flow Control 和 vmQueueCursor

    ActiveMQ可以开启或关闭生产者流量控制Producer Flow Control ,基本原理是producer 发送一条消息会收到broker返回的ack响应,当磁盘或内存快满的时候broker ...

  8. Java显式锁学习总结之三:AbstractQueuedSynchronizer的实现原理

    概述 上一篇我们讲了AQS的使用,这一篇讲AQS的内部实现原理. 我们前面介绍了,AQS使用一个int变量state表示同步状态,使用一个隐式的FIFO同步队列(隐式队列就是并没有声明这样一个队列,只 ...

  9. java.lang.reflect.UndeclaredThrowableExceptionjiang

    实例包含由调用处理程序抛出的经过检查的未声明异常,可以使用 getUndeclaredThrowable() 方法获取 String msg = null; if (e instanceof Unde ...

  10. 三年.NET即将转Java,我该何去何从

    2014年5月,大三报了某培训班5个月学习.NET 2014年12月-2015年6月,在某软件公司实习,用ASP.NET开发企业级系统 2015年7月-2017年3月,从毕业生到成为该公司的主要开发人 ...