当前位置: 代码迷 >> 综合 >> Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!
  详细解决方案

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

热度:131   发布时间:2023-10-10 13:17:43.0

目录

标量、向量、矩阵、张量的关系

Scalar(标量) 

Vector(向量)

Matrix(矩阵)

Tensor(张量)

Array(数组)


标量、向量、矩阵、张量的关系

先上几张图感受下,Scalar - Vector - Matrix - Tensor其实就是数据维度逐渐上升的过程。

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

  

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

点——标量(scalar)

线——向量(vector)

面——矩阵(matrix)

体——张量(tensor)

Scalar(标量) 

标量只有大小概念,没有方向的概念。通过一个具体的数值就能表达完整。

比如:重量、温度、长度、提及、时间、热量等都数据标量。

Vector(向量)

物理学上也叫矢量,指由大小和方向共同决定的量(跟「标量」相区别)。如力、速度等

向量主要有2个维度:大小、方向。

大小:箭头的长度表示大小;

方向:箭头所指的方向表示方向。

Matrix(矩阵)

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵。

而行数与列数都等于n的矩阵称为n阶矩阵或n阶方阵

由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作:

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

Tensor(张量)

A tensor is a generalization of vectors and matrices to potentially higher dimensions.

Tensor实际上就是一个多维数组(multidimensional array),其目的能够创造更高维度的矩阵、向量

Tensor对象的3个属性:

  1. rank:number of dimensions 维度
  2. shape: number of rows and columns 行列数
  3. type: data type of tensor's elements 元素类型

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

 现在将三维的张量用一个正方体来表示

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

一个量, 在不同的参考系下按照某种特定的法则进行变换, 就是张量。

额外补充:Array(数组)

数组是类似于列表的高阶对象,有序的元素序列我们经常在Numpy里对数组进行运算。

Scalar, Vector, Matrix, Tensor, Array 傻傻分不清楚,看完这篇可视化你就明白!

Python也有数组,为什么要用Numpy?

  1. Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说,这种结构显然不够高效。
  2. Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组,也没有各种运算函数。因而不适合数值运算。
  3. Numpy内置丰富的方法,能更加轻松高效地进行科学计算。

  相关解决方案