1.标量相乘
每个元素与标量相乘
设A,B,CA,B,CA,B,C是相同维数的矩阵,rrr与s" role="presentation" style="position: relative;">sss为数,则由
a. A+BA+BA+B = B+AB+AB+A
b. (A+B)+C=A+(B+C)(A+B)+C=A+(B+C)(A+B)+C = A+(B+C)
c. (A+0)=A(A+0)=A(A+0) = A
d. r(A+B)=rA+rBr(A+B)=rA+rBr(A+B) = rA + rB
e. (r+s)A=rA+rB(r+s)A=rA+rB(r+s)A = rA + rB
f. r(sA)=(rs)Ar(sA)=(rs)Ar(sA) = (rs)A

2.矩阵相乘
若乘积ABABAB有定义,ABABAB的第iii行第j" role="presentation" style="position: relative;">jjj列的元素是AAA的第i" role="presentation" style="position: relative;">iii行与BBB的第j" role="presentation" style="position: relative;">jjj列对饮钙元素乘积之和.
只要注意矩阵左乘和右乘不相等即可.

a. A(BC)=(AB)CA(BC)=(AB)CA(BC) = (AB)C
b. A(B+C)=AB+ACA(B+C)=AB+ACA(B+C) = AB +AC
c. (B+C)A=BA+CA(B+C)A=BA+CA(B+C)A = BA +CA
d. r(AB)=(rA)B=A(rB)r(AB)=(rA)B=A(rB)r(AB) = (rA)B = A(rB)
e. ImA=A=AINImA=A=AINI_mA =A =AI_N

3.矩阵的转置(transpose)
ATATA^T行与列交换

a. (AT)T=A(AT)T=A(A^T)^T = A
b. (A+B)T=AT+BT(A+B)T=AT+BT(A+B)^T = A^T + B^T
c. (rA)=rAT(rA)=rAT(rA) = rA^T
d. (AB)T=BTAT(AB)T=BTAT(AB)^T = B^TA^T

4.矩阵的逆(inverse)
一个$n*n矩阵A是可逆的则

AA−1=IAA−1=IAA^{-1} = I

A−1A=IA−1A=IA^{-1}A = I
不可可逆矩阵也称为奇异矩阵(singular matrix),而可逆矩阵称为非奇异矩阵(nonsingular matrix)

a. 设A=[acbd][abcd] \left[ \begin{matrix}a & b \\c & d \\\end{matrix} \right] ,若ad!=bcad!=bcad!=bc,则A可逆,且A−1A−1A^{-1}=1ad−bc[a−c−bd]1ad−bc[a−b−cd]\frac{1}{ad-bc} \left[ \begin{matrix}a & -b \\-c & d \\\end{matrix} \right]

detA=ad−bcdetA=ad−bcdet A = ad - bc 称为A的行列式

b. 若A是可逆n∗nn∗nn*n矩阵,则对每一RnRnR^n中的b,方程Ax=bAx=bAx=b有唯一解x=A−1bx=A−1bx = A^{-1}b

a. (A−1)−1=A(A−1)−1=A(A^{-1})^{-1}=A
b. 若A和B都是n*n可逆矩阵,AB也可逆,且其逆是A和B的逆矩阵按相反顺序的乘积(AB)−1=B−1A−1(AB)−1=B−1A−1(AB)^{-1} = B^{-1}A^{-1}
c. 若A可逆,则ATATA^T也可逆,且其逆是A−1A−1A^{-1}的转置,即(AT)−1=(A−1)T(AT)−1=(A−1)T(A^T)^{-1} = (A^{-1})^T

a.n*n矩阵A是可逆的,当且仅当A行等价于InInI_n,这时,把A变为InInI_n的一系列初等变换同时把InInI_n变成A−1A−1A^{-1}

可逆矩阵定理
a. A是可逆矩阵
b. A是n*n单位矩阵
c. A有n个主元位置
d.Ax=0Ax=0Ax =0仅有平凡解
e.A的个列线性无关
f.线性变换x−>Axx−>Axx -> Ax是一对一的
g. 对RnRnR^n中任意b,Ax=bAx=bAx = b至少有一个解
h. A的各列生成RnRnR^n
i. 线性变换x−>Axx−>Axx ->Ax把RnRnR^n映射到RnRnR^n上
j. 存在n*n矩阵C是的CA = I
k. 存在n*n矩阵D使得AD=I
l. ATATA^T是可逆矩阵

  1. 分块矩阵(partitioned matrices)
  2. 矩阵的因式分解(matrix factorizations)

  3. RnRnR^n的子空间

  4. 维数与秩(dimension and rank)

python应用
在机器学习中KNN算法,要计算训练集A和测试集B中所有向量的欧式距离.使用二重嵌套循环效率会非常低,而用矩阵计算则会很快.

欧式距离OD = (x1−x2)2+(y1−y2)2−−−−−−−−−−−−−−−−−−√(x1−x2)2+(y1−y2)2\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}=x21+x22−2x1x2+y21+y22−2y1y2−−−−−−−−−−−−−−−−−−−−−−−−−−−√x12+x22−2x1x2+y12+y22−2y1y2\sqrt{x_1^2+x_2^2-2x_1x_2+y_1^2+y_2^2-2y_1y_2}

假设训练集A中有两个点分别是(a11,a12)和(a21,a22)(a11,a12)和(a21,a22)(a_{11} , a_{12})和(a_{21}, a_{22}),测试集B中有两个点分别是(b11,b12),(b21,b22),(b31,b32)(b11,b12),(b21,b22),(b31,b32)(b_{11} , b_{12}),(b_{21}, b_{22}),(b_{31}, b_{32})

第一种方法:二重嵌套循环

第二种方法:矩阵
首先,将A和B转换为矩阵
A=[a11a21a12a22][a11a12a21a22] \left[ \begin{matrix}a_{11} & a_{12} \\a_{21} & a_{22} \\\end{matrix} \right] B=⎡⎣⎢b11b21b31b12b22b32⎤⎦⎥[b11b12b21b22b31b32] \left[ \begin{matrix}b_{11} & b_{12} \\b_{21} & b_{22} \\b_{31} & b_{32}\end{matrix} \right]
最后得到的结果应该是一个2*3的矩阵,第i行第j列元素对应的A矩阵中第i个点和b矩阵中第j个点

欧式距离可以写成
欧式距离OD = (x1−x2)2+(y1−y2)2−−−−−−−−−−−−−−−−−−√(x1−x2)2+(y1−y2)2\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}=x21+x22+y21+y22−2x1x2−2y1y2−−−−−−−−−−−−−−−−−−−−−−−−−−−√x12+x22+y12+y22−2x1x2−2y1y2\sqrt{x_1^2+x_2^2+y_1^2+y_2^2-2x_1x_2-2y_1y_2}

1.首先计算x21+x22x12+x22x_1^2+x_2^2
AsAsA_{s}=[a211+a212a221+a222][a112+a122a212+a222] \left[ \begin{matrix}a_{11}^2 +a_{12}^2 \\a_{21}^2 +a_{22}^2 \\\end{matrix} \right]

同理计算y21+y22y12+y22y_1^2+y_2^2
⎡⎣⎢⎢b211+b212b221+b222b231+b232⎤⎦⎥⎥[b112+b122b212+b222b312+b322] \left[ \begin{matrix}b_{11}^2 + b_{12}^2 \\b_{21}^2 + b_{22}^2 \\b_{31}^2 + b_{32}^2\end{matrix} \right]

2.再求x21+x22+y21+y22x12+x22+y12+y22x_1^2+x_2^2+y_1^2+y_2^2
这里牵涉到矩阵的广播(broadcast)
AsbAsbA_{sb} = [a211+a212a221+a222a211+a212a221+a222a211+a212a221+a222][a112+a122a112+a122a112+a122a212+a222a212+a222a212+a222] \left[ \begin{matrix}a_{11}^2 +a_{12}^2 & a_{11}^2 +a_{12}^2 & a_{11}^2 +a_{12}^2\\a_{21}^2 +a_{22}^2 & a_{21}^2 +a_{22}^2 & a_{21}^2 +a_{22}^2 \\\end{matrix} \right]

这里使用b的转置来求
先求B的转置
[b211+b212b221+b222b231+b232][b112+b122b212+b222b312+b322] \left[ \begin{matrix}b_{11}^2 + b_{12}^2 &b_{21}^2 + b_{22}^2 &b_{31}^2 + b_{32}^2\end{matrix} \right]
在求BsBsB_s转置之后的广播

BsbBsbB_{sb} = [b211+b212b211+b212b221+b222b221+b222b231+b232b231+b232][b112+b122b212+b222b312+b322b112+b122b212+b222b312+b322] \left[ \begin{matrix}b_{11}^2 + b_{12}^2 &b_{21}^2 + b_{22}^2 &b_{31}^2 + b_{32}^2 \\b_{11}^2 + b_{12}^2 &b_{21}^2 + b_{22}^2 &b_{31}^2 + b_{32}^2\end{matrix} \right]

然后将AsbBsbAsbBsbA_{sb}B_{sb}相加
Asb+BsbAsb+BsbA_{sb}+B_{sb} = [a211+a212+b211+b212a221+a222+b211+b212a211+a212+b221+b222a221+a222+b221+b222a211+a212+b231+b232a221+a222+b231+b232][a112+a122+b112+b122a112+a122+b212+b222a112+a122+b312+b322a212+a222+b112+b122a212+a222+b212+b222a212+a222+b312+b322] \left[ \begin{matrix}a_{11}^2 +a_{12}^2+b_{11}^2 + b_{12}^2 &a_{11}^2 +a_{12}^2+b_{21}^2 + b_{22}^2 &a_{11}^2 +a_{12}^2+b_{31}^2 + b_{32}^2 \\a_{21}^2 +a_{22}^2+b_{11}^2 + b_{12}^2 &a_{21}^2 +a_{22}^2+b_{21}^2 + b_{22}^2 &a_{21}^2 +a_{22}^2+b_{31}^2 + b_{32}^2\end{matrix} \right]

3.求2x1x2+2y1y22x1x2+2y1y22x_1x_2+2y_1y_2
ABTABTAB^T=[b211+b212b221+b222b231+b232][b112+b122b212+b222b312+b322] \left[ \begin{matrix}b_{11}^2 + b_{12}^2 &b_{21}^2 + b_{22}^2 &b_{31}^2 + b_{32}^2\end{matrix} \right]

参考文献:
http://blog.csdn.net/Jiajing_Guo/article/details/62217564

python与线性代数 矩阵相关推荐

  1. python与线性代数 矩阵与方程组

    线性方程(linear equation) a1x1+a2x2+...+anxn=ba1x1+a2x2+...+anxn=ba_1x_1+a_2x_2+...+a_nx_n = b b与系数a1,a2 ...

  2. 线性代数矩阵行列式_矩阵的行列式 使用Python的线性代数

    线性代数矩阵行列式 In linear algebra, the determinant is a scalar value that can be computed for a square mat ...

  3. 线性代数矩阵行列式_非平方矩阵的行列式| 使用Python的线性代数

    线性代数矩阵行列式 Prerequisites: 先决条件: Defining a Matrix 定义矩阵 Determinant of a Matrix 矩阵的行列式 Note: Determina ...

  4. python如何定义矩阵_基础 | Python下的矩阵定义 (下)

    关键词:线性代数 / 矩阵 / 基本定义 矩阵对于算法就如同人对于食物般的关系,已经到了密不可分的状态了,在神经网络里,矩阵代表了每层神经元之间的链接,在集成算法里,矩阵记录了每次分类器更新的残差,在 ...

  5. python矩阵的共轭转置_基础 | Python 下的矩阵操作

    关键词:线性代数 / 矩阵 / 运算 今天小编将详细介绍矩阵的运算规则与数学符号应用在矩阵上的含义,如同算数字的加减法需要了解计算公式的规则一样,矩阵的运算虽然与单纯数字运算相似,但其细节的相异处还需 ...

  6. python 下三角矩阵_Python | 矩阵的下三角

    python 下三角矩阵 A matrix can be seen in different ways and one of them is the lower triangular matrix p ...

  7. python 下三角矩阵_Python | 矩阵的上三角

    python 下三角矩阵 A matrix can be seen in different ways and one of them is the upper triangular matrix p ...

  8. 怎么在python中输入矩阵_如何使用NumPy在Python中实现矩阵?

    矩阵被用作数学工具,在现实世界中有多种用途.在本文中,我们将按照以下顺序讨论Python中关于使用著名的NumPy库的矩阵的所有内容:什么是NumPy以及何时使用它?在NumPy 矩阵被用作数学工具, ...

  9. 线性代数--矩阵、向量

    线性代数 线性代数 矩阵及其运算 矩阵分块法 矩阵的初等变换于线性方程组 矩阵的初等变换 矩阵的秩 线性方程组的解 向量组的线性相关性 向量组及其线性组合 向量组的线性相关性 线性代数 矩阵及其运算 ...

最新文章

  1. android地图获取坐标位置,android 百度地图 根据得到的经纬度 获取位置信息
  2. 定义css设备类型-Media Queries图表简介及使用方法
  3. 决策树准确率低原因_智能质检优化实践:召回率和准确率,哪个更重要?
  4. 计算机网络管理第三版试卷,《计算机网络管理技术》试卷.doc
  5. Go的runtime.GOMAXPROCS
  6. Raft与MongoDB复制集协议比较
  7. PL/SQL Developer 13.0设置中文
  8. java里面add报错_java.util.Arrays$ArrayList addAll报错
  9. [不得不提]国外的一个silverlight for cube的商业组件
  10. [javax.validation]验证
  11. 怎么查看计算机办公软件版本的,怎样查看电脑用的什么办公软件
  12. 2021数学建模学习笔记
  13. 测量运放的输入偏置电流 - 实验准备
  14. 华为手机相册怎么镜像翻转_手机相册里的照片误删怎么恢复?安卓通用照片恢复...
  15. Firefox Pale Moon此连接是不受信任的、无效的安全证书解决办法
  16. Sending the email to the following server failed.IOException while sending message问题解决
  17. excel两个表格内容合并
  18. 一篇关于 JS 常用的数据结构与算法万字总结
  19. 数据分析师的自我修养
  20. 淘宝代购系统,代购程序,代购系统源码,海外代购系统源码部分PHP代码展示

热门文章

  1. Python演示--UDP套接字真的无连接吗?
  2. php form 添加滚动条,element 使用总结(1. tree使用 2. table修改滚动条样式 3. el-form 自定义label添加icon)...
  3. java 反射基础_Java基础教程:反射基础
  4. 添加弹窗_阻止电脑广告弹窗窗口让电脑桌面更清洁
  5. 那些html编辑器有代码片段6,VS Code 折腾记 - (6) 基本配置/快捷键定义/代码片段的录入(snippet)...
  6. java 散列集_java数据结构之散列集HashSet与散列表Hashtable
  7. 模块化(AMD、CMD、CommonJS、ES6)
  8. mysql创建表格1warning_MySQL 复制表
  9. 前端笔试能查吗_鹅厂微博前端实习面经
  10. mondrian olap 示例_详解OLAP概念、基本内容、特点、分类