矩阵的加法、乘法、转置、求逆、行列式
来源:互联网 发布:jsp项目开发案例 源码 编辑:程序博客网 时间:2024/05/02 05:04
- 矩阵运算 及 md表示 记录
- python需要用到的库 numpy
import numpy as np
矩阵加法
- 两个 相同维数 矩阵的加法可以通过对应元素的相加得到,
aij+bij
矩阵乘法
定义 设矩阵
A=(aij)m×n ,B=(bij)s×n ,那么 矩阵A 与 矩阵B 的乘积是一个m×n 矩阵C=(cij)m×n ,其中cij=ai1b1j+ai2b2j+...+aisbsj=∑sk=1aikbkj 只有当 矩阵A 的 列数 等于 矩阵B 的 行数 时,两个矩阵才能相乘
例如
C=A×B={142536}×⎧⎩⎨⎪⎪123456⎫⎭⎬⎪⎪={1x1+2x2+3x34x1+5x2+6x31x4+2x5+3x64x4+5x5+6x6}={14323277} python代码测试
def matTest2(): ma = [[1, 2, 3], [4, 5, 6]] ma = np.mat(ma) # 转为ndarray对象,矩阵化 mb = [[1, 4], [2, 5], [3, 6]] mb = np.mat(mb) mc = ma.dot(mb) # 矩阵乘法 print(mc) pass结果[[14 32][32 77]]
转置矩阵
定义:把矩阵 A 的 行列互换 所得到的矩阵称为 原矩阵 的 转置矩阵,以
AT 表示。即
A=(aij)m×n ,AT=(aji)n×m
A=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a11a21⋮am1a12a22⋮am1⋯⋯⋱⋯a1na21⋮amn⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪,AT=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a11a12⋮a1na21a22⋮a2n⋯⋯⋱⋯am1am2⋮anm⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪ 例如:
A={142536},AT=⎧⎩⎨⎪⎪123456⎫⎭⎬⎪⎪ python代码测试
def matTest3(): ma = [[1, 2, 3], [4, 5, 6]] ma = np.mat(ma) mb = ma.T #矩阵转置 print(mb) pass结果[[1 4][2 5][3 6]]
矩阵求逆
定义:一个n阶 方阵A 称为可逆的,或非奇异的,如果存在一个n阶 方阵B,使得
A×B=B×A=E 并称B是A的一个 逆矩阵。不可逆的矩阵称为 奇异矩阵。A 的逆矩阵记作A−1 。且A×A−1 得到的矩阵为 对角线元素全为1,其他元素全为0例如:
A={−241−3},B=⎧⎩⎨−32−2−12−1⎫⎭⎬ A×B={−241−3}×⎧⎩⎨−32−2−12−1⎫⎭⎬={1001} 所以判断两个矩阵是否为互逆矩阵,直接相乘即可判断
性质:
- 可逆矩阵一定是方阵。
- (唯一性)如果矩阵A是可逆的,其逆矩阵是唯一的。
- A的逆矩阵的逆矩阵还是A。记作
(A−1)−1=A - 可逆矩阵A的转置矩阵AT也可逆,并且
(AT)−1=(A−1)T (转置的逆等于逆的转置) - 若矩阵A可逆,则矩阵A满足消去律。即AB=O(或BA=O),则B=O,AB=AC(或BA=CA),则B=C。
- 两个可逆矩阵的乘积依然可逆。
- 矩阵可逆当且仅当它是满秩矩阵。
python代码测试
def matTest4(): ma = [[-2, 1], [4, -3]] ma = np.mat(ma) mb = np.linalg.inv(ma) # 矩阵求逆 print(mb) mc = ma.dot(mb) print(mc) pass结果[[-1.5 -0.5][-2. -1. ]][[ 1. 0.][ 0. 1.]]
矩阵行列式
对角线展开
二阶:{a1a2b1b2}=a1b2−a2b1 三阶:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=a1b2c3+b1c2a3+c1a2b3−a3b2c1−b3c2a1−c3a2b1 降阶展开(适合高阶行列式)
按第一阶展开:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=a1×{b2b3c2c3}−b1×{a2a3c2c3}+c1×{a2a3b2b3} 按中阶展开:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=b2×{a1a3c1c3}−a2×{b1b3c1c3}+c2×{a1a3b1b3} python代码测试
def matTest5(): ma = [[1, 2], [1, 3]] ma = np.mat(ma) mb = np.linalg.det(ma) print(mb) mf = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] mf = np.mat(mf) me = np.linalg.det(mf) print(me)结果1.06.66133814775e-16
附_矩阵的markdown表示
$$\left\{ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right\} \tag{2}$$
$$\begin{Bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{Bmatrix} \tag{5}$$
⎧⎩⎨⎪⎪147258369⎫⎭⎬⎪⎪(5)
$$\left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right] \tag{3}$$
$$\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \tag{4}$$
$$\left[\begin{matrix} 1 & 2 & \cdots & 4 \\ 7 & 6 & \cdots & 5 \\ \vdots & \vdots & \ddots & \vdots \\ 8 & 9 & \cdots & 0 \\\end{matrix}\right] \tag {6}$$
$$\left[ \begin{array}{cc|c} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}\right] =>\left[ \begin{array}{cc|c} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}\right] \tag{7}$$
我们使用矩阵 $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$ 作为因子矩阵,将其...
我们使用矩阵
阅读全文
0 0
- 矩阵的加法、乘法、转置、求逆、行列式
- 矩阵求逆 转置 行列式
- 矩阵求逆 转置 行列式
- 求矩阵的行列式
- 矩阵求逆、转置、行列式(转)
- C语言求矩阵的行列式、伴随矩阵、逆矩阵
- 矩阵的加法、减法、乘法、转置
- 求矩阵行列式的方法
- det--求矩阵的行列式
- 矩阵的加法和乘法
- 如何用Matlab求矩阵的秩、乘积、逆、行列式的值、转置
- 关于 矩阵 矩阵乘法 行列式的一点思考
- python实现矩阵求行列式的值
- Python递归求矩阵的行列式
- matlab小程序:求矩阵的行列式
- 逆序数&行列式&矩阵乘法&逆矩阵【线性代数】
- 矩阵求逆及行列式求值
- 求矩阵行列式
- 上下拉返回控件
- SDK:窗口子类化
- NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the lat
- 网络编程之Handler消息机制
- VB2015_excel初始学习
- 矩阵的加法、乘法、转置、求逆、行列式
- cdh 与原生态Hadoop区别
- yii2 学习笔记
- [BZOJ1500][NOI2005]维修数列
- 51nod 1413 权势二进制 数论?
- protostuff序列化集合的问题(反序列化时的java.util.ConcurrentModificationException)
- 为什么Unity3d中看到的场景很小?
- php常用字符串函数小结
- Android 五大布局