在这里插入图片描述

什么是标量?

  • 标量是一个单独的数字,比如3、5、或者52。
  • 你可以把标量想象成一个小盒子,里面只放着一个数字。

举个例子

  • 想象一下你去餐厅吃饭,账单上写着你需要支付的金额,比如52美元。这个52就是一个标量。
  • 如果你想把华氏温度转成摄氏温度,可以使用这个公式:
    [
    c = \frac{5}{9} (f - 32)
    ]
    这里的cf也是变量,它们代表我们不知道的数字(比如温度)。

数学符号

  • 在数学里,xyz常用来表示标量。例如,如果我们说x ∈ R,意思是x是一个实数(可以是任何数字)。
  • 符号表示“属于”的意思,像说xy只能是0或者1时,可以写成x, y ∈ {0, 1}

张量

  • 张量是数学中的一种概念,标量就是只有一个数字的张量。想象一下,张量像是不同形状和大小的盒子,标量就是一个只有一个小数字的盒子。

代码示例

我们用代码来做一些简单的数学运算:

from mxnet import np, npx
npx.set_np()

x = np.array(3.0)  # 创建一个标量,值是3.0
y = np.array(2.0)  # 创建另一个标量,值是2.0

# 做一些运算
加法 = x + y  # 3.0 + 2.0
乘法 = x * y  # 3.0 * 2.0
除法 = x / y   # 3.0 / 2.0
指数 = x**y    # 3.0的2.0次方

# 结果
加法, 乘法, 除法, 指数
  • 这段代码做了加法、乘法、除法和指数运算,结果分别是:
    • 加法:5.0
    • 乘法:6.0
    • 除法:1.5
    • 指数:9.0

总结

  • 标量就是一个单独的数字,我们可以用它们做很多数学运算。
  • 学习线性代数和标量对理解很多数学和科学模型很重要,希望你们能觉得有趣!

1. 什么是向量?

  • 向量可以想成一个装了多个数字的“数字列表”。
  • 比如,假设我们有一组数字:[0, 1, 2, 3]。这组数字就组成了一个向量。
  • 向量的每个数字叫做元素。在向量[0, 1, 2, 3]中,数字0、1、2、3都是这个向量的元素。

举例说明

  • 比如我们想知道一个人的一些信息,我们可以用一个向量来记录:
    • 第1个数字可以代表年龄,
    • 第2个数字可以代表身高,
    • 第3个数字可以代表体重。
  • 这样一来,如果这个人12岁、身高150厘米、体重40公斤,我们的向量可以写成[12, 150, 40]。

数学符号表示向量

  • 在数学里,我们常用粗体的小写字母(如x、y、z)表示向量。
  • 比如,我们用 x 表示向量 x = [12, 150, 40]。

如何用代码创建和使用向量

  • 在Python中,我们可以使用代码来创建向量,并访问它的每个元素。来看一个例子:
    from mxnet import np
    
    # 创建一个向量 x,里面包含 0, 1, 2, 3
    x = np.arange(4)  
    x  # 输出结果:array([0., 1., 2., 3.])
    

如何获取向量的某个元素

  • 比如我们想获取第4个元素(数字3),可以使用x[3],因为向量中的元素是从第0个位置开始的。
    x[3]  # 输出结果:array(3.)
    

2. 向量的“长度”与“维度”

  • 向量的长度就是它里面有多少个元素。比如,向量[0, 1, 2, 3]的长度是4。

  • 在数学上,我们用符号 x ∈ R⁴ 表示向量x包含4个数字。

  • 在Python里,我们可以用len()来获取向量的长度:

    len(x)  # 输出结果:4
    
  • 维度是描述向量中有几个数字的另一个方式。在这个例子中,向量x有4个数字,所以它的维度是4。

向量的形状

  • 在代码中,向量的形状可以用x.shape来表示。形状描述了向量在不同方向上的长度。因为我们这个向量只有一个方向(一个轴),所以形状是(4,)。
    x.shape  # 输出结果:(4,)
    

总结

  • 向量是一个数字列表,它的每个数字叫做元素。
  • 向量有长度(表示里面有几个数字),维度就是长度。
  • 我们可以用代码创建向量、访问其中的元素、获取它的长度和形状。

1. 什么是矩阵?

  • 矩阵可以看作是一个包含很多向量的“表格”。我们通常用粗体的大写字母(例如X、Y、Z)来表示矩阵。
  • 矩阵由很多行(横向)和列(纵向)组成,就像一个表格一样。每个地方的数字叫做元素

举个例子

  • 想象一下,一个班级的学生信息,每行可以代表一个学生,每列可以代表不同的信息,比如:

    • 第1列是学生的姓名,
    • 第2列是学生的年龄,
    • 第3列是学生的身高。

    那么我们可以把这些信息整理成一个矩阵。

矩阵的数学表示

  • 在数学中,如果一个矩阵有m行n列,我们可以用符号 ( A \in R^{m \times n} ) 来表示这个矩阵。
  • 例如,下面是一个 3 行 2 列的矩阵:
    [
    A =
    \begin{bmatrix}
    a_{11} & a_{12} \
    a_{21} & a_{22} \
    a_{31} & a_{32}
    \end{bmatrix}
    ]
    这里 ( a_{ij} ) 表示第 i 行第 j 列的元素。

如何用代码创建矩阵

  • 在Python中,我们可以用代码来创建一个矩阵。比如:
    import numpy as np
    
    # 创建一个 5 行 4 列的矩阵
    A = np.arange(20).reshape(5, 4)
    print(A)
    
    这个代码会输出一个矩阵,像这样:
    [[ 0.,  1.,  2.,  3.],
     [ 4.,  5.,  6.,  7.],
     [ 8.,  9., 10., 11.],
     [12., 13., 14., 15.],
     [16., 17., 18., 19.]]
    

如何访问矩阵中的元素

  • 我们可以通过行和列的索引来访问矩阵中的某个元素。比如,( A[1, 2] ) 表示第2行第3列的元素。
  • 在上面的矩阵中,( A[1, 2] ) 是数字6。

矩阵的转置

  • 有时我们需要交换矩阵的行和列,这个操作叫做转置
  • 如果我们把矩阵 ( A ) 转置,得到的矩阵叫做 ( A^T ),它的行和列就会互换。例如:
    A_T = A.T
    print(A_T)
    
    输出的转置矩阵看起来会是这样的:
    [[ 0.,  4.,  8., 12., 16.],
     [ 1.,  5.,  9., 13., 17.],
     [ 2.,  6., 10., 14., 18.],
     [ 3.,  7., 11., 15., 19.]]
    

对称矩阵

  • 如果一个矩阵和它的转置是一样的,我们称这个矩阵为对称矩阵。比如:
    B = np.array([[1, 2, 3],
                  [2, 0, 4],
                  [3, 4, 5]])
    
    这个矩阵 ( B ) 的转置也是 ( B )。

矩阵的用途

  • 矩阵非常有用,因为它们可以帮助我们组织数据。例如,在一个矩阵中,每一行可以代表不同的房子,每一列可以代表不同的属性(如面积、价格等)。

总结

  • 矩阵是一个包含数字的表格,能够存储很多信息。
  • 我们可以通过行和列来访问每个数字。
  • 矩阵可以转置,行和列会互换。
  • 矩阵在很多地方都很有用,比如记录学生信息、房屋特征等等。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐