Tenseurs
Un Tenseur est une Matrice à N dimensions :
- Un scalaire est un tenseur de dimension 0
- Un vecteur est un tenseur unidimensionnel
- Une matrice est un tenseur à 2 dimensions
Un tenseur est une généralisation de vecteurs et de matrices à des dimensions supérieures.
Scalaire | Vecteur(s) | ||||||||||||||||||||||||||
1 |
|
||||||||||||||||||||||||||
Matrice | Tenseur | ||||||||||||||||||||||||||
|
|
Rangs de tenseur
Le nombre de directions qu'un tenseur peut avoir dans un espace à N dimensions est appelé le Rang du tenseur.
Le rang est noté R .
Un scalaire est un nombre unique. R = 0 .
- Il a 0 axes
- Il a un rang de 0
- C'est un tenseur de dimension 0
Un vecteur est un tableau de nombres. R = 1 .
- Il a 1 axe
- Il a un rang de 1
- C'est un tenseur unidimensionnel
Une matrice est un tableau à 2 dimensions. R = 2 .
- Il a 2 axes
- Il a un rang de 2
- C'est un Tenseur à 2 dimensions
Tenseurs réels
Techniquement, tout ce qui précède sont des tenseurs, mais quand on parle de tenseurs, on parle généralement de matrices de dimension supérieure à 2 ( R > 2 ).
Algèbre linéaire en JavaScript
En algèbre linéaire, l'objet mathématique le plus simple est le Scalaire :
const scalar = 1;
Un autre objet mathématique simple est le Array :
const array = [ 1, 2, 3 ];
Les matrices sont des tableaux à 2 dimensions :
const matrix = [ [1,2],[3,4],[5,6] ];
Les vecteurs peuvent être écrits sous forme de matrices avec une seule colonne :
const vector = [ [1],[2],[3] ];
Les vecteurs peuvent également être écrits sous forme de tableaux :
const vector = [ 1, 2, 3 ];
Les tenseurs sont des tableaux à N dimensions :
const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];
Opérations de tenseur JavaScript
La programmation d'opérations tensorielles en JavaScript peut facilement devenir un spaghetti de boucles.
L'utilisation d'une bibliothèque JavScript vous évitera bien des maux de tête.
L'une des bibliothèques les plus courantes à utiliser pour les opérations tensorielles s'appelle tensorflow.js .
Ajout de tenseur
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] ]
Soustraction du tenseur
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] ]
En savoir plus sur Tensorflow...