Тензоры
Тензор - это N-мерная матрица :
- Скаляр - это 0-мерный тензор
- Вектор — это одномерный тензор.
- Матрица — это двумерный тензор
Тензор — это обобщение векторов и матриц на более высокие измерения.
Скаляр | Вектор(ы) | ||||||||||||||||||||||||||
1 |
|
||||||||||||||||||||||||||
Матрица | Тензор | ||||||||||||||||||||||||||
|
|
Тензорные ранги
Количество направлений, которые тензор может иметь в N - мерном пространстве, называется рангом тензора.
Ранг обозначается R .
Скаляр — это одно число. Р = 0 .
- Он имеет 0 осей
- Он имеет ранг 0
- Это 0-мерный тензор
Вектор — это массив чисел. Р = 1 .
- Имеет 1 ось
- Имеет ранг 1
- Это одномерный тензор
Матрица — это двумерный массив. р = 2 .
- Он имеет 2 оси
- Имеет ранг 2
- Это двумерный тензор
Реальные тензоры
Технически все вышеперечисленное является тензорами, но когда мы говорим о тензорах, мы обычно говорим о матрицах с размерностью больше 2 ( R > 2 ).
Линейная алгебра в JavaScript
В линейной алгебре самым простым математическим объектом является скаляр :
const scalar = 1;
Другой простой математический объект — это Array :
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]]);
// Tensor Addition
const tensorAdd = tensorA.add(tensorB);
// Result [ [2, 1], [5, 2], [8, 3] ]
Тензорное вычитание
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// Tensor Subtraction
const tensorSub = tensorA.sub(tensorB);
// Result [ [0, 3], [1, 6], [2, 9] ]
Узнайте больше о Tensorflow...