线性代数(一)

1.标量:标量由只有⼀个元素的张量表⽰。

python 复制代码
x = np.array(3.0)
y = np.array(2.0)
x + y, x * y, x / y, x ** y
(array(5.), array(6.), array(1.5), array(9.))

2.向量:向量可以被视为标量值组成的列表,列向量是向量的默认⽅向。

python 复制代码
x = np.arange(4)
array([0., 1., 2., 3.])

在数学中,向量x可以写为:

其中x1, . . . , xn是向量的元素。在代码中,我们通过张量的索引来访问任⼀元素。

python 复制代码
x[3]
array(3.)

3. 矩阵:矩阵将向量从⼀阶推⼴到⼆阶。

python 复制代码
A = np.arange(20).reshape(5, 4)
array([[ 0., 1., 2., 3.],
       [ 4., 5., 6., 7.],
       [ 8., 9., 10., 11.],
       [12., 13., 14., 15.],
       [16., 17., 18., 19.]])

对于任意A ∈ R m×n,A的形状是(m,n)或m × n。

当我们交换矩阵的⾏和列时,结果称为矩阵的转置(transpose)。

python 复制代码
A.T
array([[ 0., 4., 8., 12., 16.],
       [ 1., 5., 9., 13., 17.],
       [ 2., 6., 10., 14., 18.],
       [ 3., 7., 11., 15., 19.]])

4.张量:有几个中括号就是几维张量。

python 复制代码
X = np.arange(24).reshape(2, 3, 4)
array([[[ 0., 1., 2., 3.],
        [ 4., 5., 6., 7.],
        [ 8., 9., 10., 11.]],
      [[12., 13., 14., 15.],
       [16., 17., 18., 19.],
       [20., 21., 22., 23.]]])

5.范数:在线性代数中,向量范数是将向量映射到标量的函数f。

范数的的公式:

L1范数,它表⽰为向量元素的绝对值之和(此时P等于1):

L2范数,它表示为向量元素的平⽅和的平⽅根(此时P等于2):

类似于向量的L2范数,矩阵X ∈ R m×n的Frobenius范数(Frobenius norm)是矩阵元素平⽅和的平⽅根:

相关推荐
明月_清风6 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python
明月_清风6 小时前
打破“死亡环联”:深挖 Python 分代回收与垃圾回收(GC)机制
后端·python
ZhengEnCi1 天前
08c. 检索算法与策略-混合检索
后端·python·算法
明月_清风1 天前
Python 内存手术刀:sys.getrefcount 与引用计数的生死时速
后端·python
明月_清风1 天前
Python 消失的内存:为什么 list=[] 是新手最容易踩的“毒苹果”?
后端·python
Flittly2 天前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
千寻girling2 天前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
databook2 天前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
明月_清风2 天前
Python 性能微观世界:列表推导式 vs for 循环
后端·python
明月_清风2 天前
Python 性能翻身仗:从 O(n) 到 O(1) 的工程实践
后端·python