栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

线性代数Python计算:矩阵的线性运算

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

线性代数Python计算:矩阵的线性运算

给定正整数 m m m和 n n n和数域 P P P,
∀ A = ( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ) , B = ( b 11 b 12 ⋯ b 1 n b 21 b 22 ⋯ b 2 n ⋮ ⋮ ⋯ ⋮ b m 1 b m 2 ⋯ b m n ) ∈ P m × n forallboldsymbol{A}=begin{pmatrix}a_{11}&a_{12}&cdots&a_{1n}\ a_{21}&a_{22}&cdots&a_{2n}\ vdots&vdots&cdots&vdots\ a_{m1}&a_{m2}&cdots&a_{mn}end{pmatrix},boldsymbol{B}=begin{pmatrix}b_{11}&b_{12}&cdots&b_{1n}\ b_{21}&b_{22}&cdots&b_{2n}\ vdots&vdots&cdots&vdots\ b_{m1}&b_{m2}&cdots&b_{mn}end{pmatrix}in P^{mtimes n} ∀A=⎝⎜⎜⎜⎛​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋯⋯​a1n​a2n​⋮amn​​⎠⎟⎟⎟⎞​,B=⎝⎜⎜⎜⎛​b11​b21​⋮bm1​​b12​b22​⋮bm2​​⋯⋯⋯⋯​b1n​b2n​⋮bmn​​⎠⎟⎟⎟⎞​∈Pm×n,定义 A boldsymbol{A} A与 B boldsymbol{B} B的和为:
C = A + B = ( a 11 + b 11 a 12 + b 12 ⋯ a 1 n + b 1 n a 21 + b 21 a 22 + b 23 ⋯ a 2 n + b 2 n ⋮ ⋮ ⋯ ⋮ a m 1 + b m 1 a m 2 + b m 2 ⋯ a m n + b m n ) ∈ P m × n . boldsymbol{C}=boldsymbol{A}+boldsymbol{B}=begin{pmatrix}a_{11}+b_{11}&a_{12}+b_{12}&cdots&a_{1n}+b_{1n}\ a_{21}+b_{21}&a_{22}+b_{23}&cdots&a_{2n}+b_{2n}\ vdots&vdots&cdots&vdots\ a_{m1}+b_{m1}&a_{m2}+b_{m2}&cdots&a_{mn}+b_{mn}end{pmatrix}in P^{mtimes n}. C=A+B=⎝⎜⎜⎜⎛​a11​+b11​a21​+b21​⋮am1​+bm1​​a12​+b12​a22​+b23​⋮am2​+bm2​​⋯⋯⋯⋯​a1n​+b1n​a2n​+b2n​⋮amn​+bmn​​⎠⎟⎟⎟⎞​∈Pm×n.
定义 λ lambda λ与 A boldsymbol{A} A的积:
λ ⋅ A = ( λ a 11 λ a 12 ⋯ λ a 1 n λ a 21 λ a 22 ⋯ λ a 2 n ⋮ ⋮ ⋯ ⋮ λ a m 1 λ a m 2 ⋯ λ a m n ) . lambdacdotboldsymbol{A}=begin{pmatrix}lambda a_{11}&lambda a_{12}&cdots&lambda a_{1n}\ lambda a_{21}&lambda a_{22}&cdots&lambda a_{2n}\ vdots&vdots&cdots&vdots\ lambda a_{m1}&lambda a_{m2}&cdots&lambda a_{mn}end{pmatrix}. λ⋅A=⎝⎜⎜⎜⎛​λa11​λa21​⋮λam1​​λa12​λa22​⋮λam2​​⋯⋯⋯⋯​λa1n​λa2n​⋮λamn​​⎠⎟⎟⎟⎞​.
数 λ lambda λ与矩阵 A boldsymbol{A} A的积常简记为 λ A lambdaboldsymbol{A} λA。矩阵的加法和数乘法统称为矩阵的线性运算。
在Python的numpy包中,表示两个同形(具有相同的行数和列数)2维数组的array对象,按元素运算实现矩阵的加法,数与数组的按元素乘法实现矩阵的数乘运算。
例1 实数域ℝ上矩阵 A = ( 1 2 3 4 5 6 ) boldsymbol{A}=begin{pmatrix}1&2&3\4&5&6end{pmatrix} A=(14​25​36​), B = ( 6 5 4 3 2 1 ) boldsymbol{B}=begin{pmatrix}6&5&4\3&2&1end{pmatrix} B=(63​52​41​),计算 A + B boldsymbol{A}+boldsymbol{B} A+B。

import numpy as np                      #导入numpy
A=np.array([[1, 2, 3],                  #设置A
            [4, 5, 6]])
B=np.array([[6, 5, 4],                  #设置B
            [3, 2, 1]])
print(A+B)

运行程序,输出

[[7 7 7]
 [7 7 7]]

即 A + B = ( 1 2 3 4 5 6 ) + ( 6 5 4 3 2 1 ) = ( 7 7 7 7 7 7 ) boldsymbol{A}+boldsymbol{B}=begin{pmatrix}1&2&3\4&5&6end{pmatrix}+begin{pmatrix}6&5&4\3&2&1end{pmatrix} =begin{pmatrix}7&7&7\7&7&7end{pmatrix} A+B=(14​25​36​)+(63​52​41​)=(77​77​77​)。
例2 我们知道 ( B , ⊕ , ∧ ) (B,oplus,wedge) (B,⊕,∧)构成一个域,其中 B = { 0 , 1 } B={0,1} B={0,1}, ⊕ oplus ⊕和 ∧ wedge ∧分别表示比特异或运算和与运算(见博文《Python的位运算》)。分辨率为 m × n mtimes n m×n的单色屏幕(黑白屏)可视为 B B B上的一个 m × n mtimes n m×n矩阵 A boldsymbol{A} A。 为檫除屏 A boldsymbol{A} A上的画面,可以作运算 A ⊕ A boldsymbol{A}oplusboldsymbol{A} A⊕A,也可以作运算 0 ∧ A 0wedgeboldsymbol{A} 0∧A。今设 8 × 8 8times8 8×8单色屏上画面为

试用上述关于 B n × n B^{ntimes n} Bn×n上线性运算 ⊕ oplus ⊕和 ∧ wedge ∧的方法檫除画面。

import numpy as np                      #导入numpy
A=np.array([[0,0,1,1,1,1,0,0],			#设置画面矩阵
            [0,1,0,0,0,0,1,0],
            [1,0,0,0,0,0,0,1],
            [1,0,0,0,0,0,0,1],
            [1,0,0,0,0,0,0,1],
            [1,0,0,0,0,0,0,1],
            [0,1,0,0,0,0,1,0],
            [0,0,1,1,1,1,0,0]])
print(A)
print(A^A)								#用异或运算檫除
print(0&A)								#与运算檫除

Python分别用“^”和“&”表示异或运算符 ⊕ oplus ⊕和与运算符 ∧ wedge ∧(见博文《Python的位运算》)。运行程序,输出

[[0,0,1,1,1,1,0,0],			#设置画面矩阵
 [0,1,0,0,0,0,1,0],
 [1,0,0,0,0,0,0,1],
 [1,0,0,0,0,0,0,1],
 [1,0,0,0,0,0,0,1],
 [1,0,0,0,0,0,0,1],
 [0,1,0,0,0,0,1,0],
 [0,0,1,1,1,1,0,0]]
[[0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]]
[[0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]]

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968268.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号