线性代数(线性变换)
线性代数(线性变换)
线性(Linear):Lines remain Lines, Origin remains fixed
Lines remain Lines:直线仍然是直线,它们的性质没有改变。
一个直线在二维或三维空间中,进行某种变换(如旋转、平移、缩放等)时,该直线仍然保持为直线,而不是变成了曲线或其他形状。
Origin remains fixed:“Origin”通常指的是坐标系统的原点,即(0, 0)或(0, 0, 0)点。原点是固定的,即它不会移动。
在某些变换中(如旋转和平移),原点可能会移动,但在其他变换中(如缩放或绕原点旋转),原点保持不变。
线性(Linear)
两个性质:加法的齐次性(Additivity)、标量乘法的齐次性(Scalar)
一个变换是线性的,需要具体满足以下两个性质:
加法的齐次性(Additivity):
对于任意的向量 u
和 v
以及任意的标量 k
,线性变换 T
满足:T(u + v) = T(u) + T(v)
这个性质表明,线性变换对向量的加法运算是封闭的,即两个向量之和的变换等于各自变换后的和。
标量乘法的齐次性(Scaling):
对于任意的向量 u
和任意的标量 k
,线性变换 T
满足:T(k * u) = k * T(u)
这个性质表明,线性变换与标量乘法是可交换的,即标量乘以向量的变换等于向量变换后再乘以该标量。
线性变换示例:原始向量【-1, 2】
经过线性变换矩阵 [[1, 3], [-2, 0]]
后,变为了新的向量 【5, 2】
。实现了向量的旋转和缩放。
旋转:在二维空间中,逆时针旋转θ角是一个线性变换。它可以通过一个2x2的旋转矩阵来表示。
缩放:缩放变换也是一个线性变换,它可以通过对角矩阵来表示,对角线上的元素是缩放因子。
import numpy as np
# 定义一个2x2的矩阵,表示线性变换
T = np.array([[1, 3], [-2, 0]])
# 定义一个二维向量
v = np.array([1, 2])
# 应用线性变换到向量v
w = np.dot(T, v)
# 输出原始向量和变换后的向量
print(f"原始向量 v: {v}")
print(f"经过线性变换后的向量 w: {w}")
线性变换示例结果
线性代数动画素材来源于3Blue1Brown,想了解更多查看参考资料网址。
3Blue1Brown 是一个由 Grant Sanderson 创建的YouTube 频道。这个频道从独特的视觉角度解说高等数学,内容包括线性代数、微积分、人工神经网络、黎曼猜想、傅里叶变换以及四元数等。
Grant Sanderson 毕业于斯坦福大学,并获得了数学学士学位。