给定正整数
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=⎝⎜⎜⎜⎛a11a21⋮am1a12a22⋮am2⋯⋯⋯⋯a1na2n⋮amn⎠⎟⎟⎟⎞,B=⎝⎜⎜⎜⎛b11b21⋮bm1b12b22⋮bm2⋯⋯⋯⋯b1nb2n⋮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+b11a21+b21⋮am1+bm1a12+b12a22+b23⋮am2+bm2⋯⋯⋯⋯a1n+b1na2n+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=(142536),
B
=
(
6
5
4
3
2
1
)
boldsymbol{B}=begin{pmatrix}6&5&4\3&2&1end{pmatrix}
B=(635241),计算
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=(142536)+(635241)=(777777)。
例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]]
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!



