张量等级张量在N维空间中可以具有的方向数,称为张量的Rank。 排名记为R。 A Scalar 是一个数字。 R = 0. 向量 是一个数字数组。 R = 1. 矩阵 是一个二维数组。 R = 2. 真实张量从技术上讲,以上所有都是张量,但是当我们谈到张量时,我们通常所说的矩阵的维度大于 2 (R > 2)。
JavaScript 中的线性代数在线性代数中,最简单的数学对象是标量: const scalar = 1;
另一个简单的数学对象是数组: const array = [ 1, 2, 3 ];
矩阵是二维数组: const matrix = [ [1,2],[3,4],[5,6] ];
向量可以写成只有一列的矩阵: const vector = [ [1],[2],[3] ];
向量也可以写成数组: const vector = [ 1, 2, 3 ];
张量是N维数组: const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];
JavaScript 张量运算用 JavaScript 编写张量运算,很容易变成循环的意大利面条。 使用 JavScript 库可以省去很多麻烦。 用于张量运算的最常用库之一称为 tensorflow.js。 张量加法const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// 张量加法
const tensorAdd = tensorA.add(tensorB);
// 结果 [ [2, 1], [5, 2], [8, 3] ]
Tensor Subtractionconst tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// 张量减法
const tensorSub = tensorA.sub(tensorB);
// 结果 [ [0, 3], [1, 6], [2, 9] ]
|