代数


排列

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

反之变为偶排列

行列式

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. 【洛谷 P3299】 [SDOI2013]保护出题人 (凸包,三分,斜率优化)

    题目链接 易得第\(i\)关的最小攻击力为\(\max_{j=1}^i\frac{sum[i]-sum[j-1]}{x+d*(i-j)}\) 十分像一个斜率式,于是看作一个点\(P(x+d*i,sum ...

  2. 旅游(CSUST省赛选拔赛2+状压dp+最短路)

    题目链接:http://csustacm.com:4803/problem/1016 题目: 思路:状压dp+最短路,比赛的时候有想到状压dp,但是最短路部分写挫了,然后就卡死了,对不起出题人~dis ...

  3. Docker微容器Alpine Linux

    Alpine 操作系统是一个面向安全的轻型 Linux 发行版. 它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功 ...

  4. 【zTree】zTree展开树节点

    今天在做zTree树的时候想着将第一级tree展开,于是利用下面方法: /** * 展开树节点的第一层 */ function openFirstTreenode(){ // 获取树对象 var tr ...

  5. RTM,RTW,GA等软件版本号详解

    一直以来,对于新手而言,软件的版本号都是个比较困扰人的问题,什么Beta.RC,再来个RTM.RTW....头大了吧?RTM和RTW有什么区别?借此机会,就给大家介绍一下这方面的小知识吧. 1.软件开 ...

  6. 用Centos7搭建小微企业Samba文件共享服务器【转】

    转自 用Centos7搭建小微企业Samba文件共享服务器 - 今日头条(www.toutiao.com)http://www.toutiao.com/i6436937837660078593/ 最近 ...

  7. ssh连接不上排查方法总结

    //常见报错信息 # No route to host --> server端没有开机或是网络不通(这个原因很多,最简单的是网线没有插.还有就是可能会是网卡down了等) 如果是网卡down了i ...

  8. Math类的数学计算功能

    //Math类的数学计算功能 public class MathTest { public static void main(String[] args) { /*----------下面是三角运算- ...

  9. 创建 dblink

    目的:oracle中跨数据库查询       两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据解决:查询 ...

  10. [你必须知道的.NET]第二十二回:字符串驻留(上)---带着问题思考

    发布日期:2008.8.27 作者:Anytao © 2008 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 说在,开篇之前 走钢丝的人,在刺激中体验快感.带着问题思考,在问题 ...