代数


排列

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

反之变为偶排列

行列式

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. 【BZOJ】2134: 单选错位 期望DP

    [题意]有n道题,第i道题有ai个选项.把第i道题的正确答案填到第i+1道题上(n填到1),问期望做对几道题.n<=10^7. [算法]期望DP [题解]正确答案的随机分布不受某道题填到后面是否 ...

  2. struts获得参数(属性,对象,模型驱动)

    0. strutsMVC

  3. Lucene7.2.1系列(三)查询及高亮

    系列文章: Lucene系列(一)快速入门 Lucene系列(二)luke使用及索引文档的基本操作 Lucene系列(三)查询及高亮 一 准备 创建项目并添加Maven依赖 <dependenc ...

  4. 70.如何在xilinx SDK中显示行号

    Window→preferences→editor→test editor 对ecilpse的通用方法 打开Eclipse软件,在菜单中选择窗口——首选项,打开新的窗口. 在新的窗口中依次选择常规—— ...

  5. linux 内核信号量

    Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干. 信号量在创建时需要设置一个 ...

  6. Gym 101081K Pope's work

    题目链接:Gym - 101081K 题意:给n个箱子,每个箱子有一个重量W和一个承重R,表示它上面能放最多R-W的重量.问最多能把多少箱子堆到一堆. 思路:发现在一堆箱子里,两个箱子交换位置,对其他 ...

  7. 头像截图上传三种方式之一(一个简单易用的flash插件)(asp.net版本)

    flash中有版权声明,不适合商业开发.这是官网地址:http://www.hdfu.net/ 本文参考了http://blog.csdn.net/yafei450225664/article/det ...

  8. Linux文件访问流程及磁盘inode和block总结

    Linux文件访问流程 inode是文件的唯一标识,文件名和inode的对应关系存放在上一级目录的block中:inode里有指向文件block的指针和文件的属性,从而通过block获得文件数据. 磁 ...

  9. 统计学习方法三:K近邻

    一.什么是K近邻? K近邻是一种基本的分类和回归方法. 在分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决权等方式预测其类别. 通俗的讲,找K个和其关系最近的邻居,哪个类别的邻居多, ...

  10. Linux上java环境变量配置

    1.java配置 配置环境变量在/etc/profile下增加 # set Java environment JAVA_HOME=/usr/share/jdk1.6.0_43 PATH=$JAVA_H ...