![](https://csdnimg.cn/release/download_crawler_static/86287102/bg1.jpg)
线性代数
朱明超
Email: deityrayleigh@gmail.com
Github: github.com/MingchaoZhu/DeepLearning
1 标量, 向量, 矩阵, 张量
1. 标量 (Scalar): 表⽰⼀个单独的数,通常⽤斜体⼩写字母表⽰,如 s ∈ R, n ∈ N。
2. 向量 (Vector):表⽰一列数,这些数有序排列的,可以通过下标获取对应值,通常⽤粗体⼩写字母表⽰:x ∈ R
n
,它表⽰元素取实数,且有 n
个元素,第⼀个元素表⽰为:x
1
。将向量写成列向量的形式:
x =
x
1
x
2
· · ·
x
n
(1)
有时需要向量的⼦集,例如第 1, 3, 6 个元素,那么我们可以令集合 S = {1, 3, 6} ,然后⽤ x
S
来表⽰这个⼦集。另外,我们⽤符号 - 表⽰集合的补
集:x
−1
表⽰除 x
1
外 x 中的所有元素,x
−S
表⽰除 x
1
, x
3
, x
6
外 x 中的所有元素。
3. 矩阵 (Matrix): 表⽰⼀个二维数组,每个元素的下标由两个数字确定,通常⽤⼤写粗体字母表⽰:A ∈ R
m×n
,它表⽰元素取实数的 m ⾏ n 列
矩阵,其元素可以表⽰为:A
1,1
, A
m,n
。我们⽤ : 表⽰矩阵的⼀⾏或者⼀列:A
i,:
为第 i ⾏,A
:,j
为第 j 列。
矩阵可以写成这样的形式:
A
1,1
A
1,2
A
2,1
A
2,2
(2)
有时我们需要对矩阵进⾏逐元素操作,如将函数 f 应⽤到 A 的所有元素上,此时我们⽤ f (A)
i,j
表⽰。
4. 张量 (Tensor): 超过二维的数组,我们⽤ A 表⽰张量,A
i,j,k
表⽰其元素(三维张量情况下)。
[1]: import numpy as np
[2]: # 标量
s = 5
# 向量
v = np.array([1,2])
# 矩阵
m = np.array([[1,2], [3,4]])
# 张量
t = np.array([
[[1,2,3],[4,5,6],[7,8,9]],
[[11,12,13],[14,15,16],[17,18,19]],
[[21,22,23],[24,25,26],[27,28,29]],
])
print("标量: " + str(s))
print("向量: " + str(v))
print("矩阵: " + str(m))
print("张量: " + str(t))
标量: 5
向量: [1 2]
矩阵: [[1 2]
[3 4]]
张量: [[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]]
[[11 12 13]
[14 15 16]
[17 18 19]]
1