Tensori

Un tensore è una matrice N-dimensionale :

  • Uno scalare è un tensore 0-dimensionale
  • Un vettore è un tensore unidimensionale
  • Una matrice è un tensore bidimensionale

Un tensore è una generalizzazione di vettori e matrici a dimensioni superiori.

Scalarevettore(i)
1
1
2
3
 
1 2 3

MatriceTensore
1 2 3
4 5 6
 
1 2 3
4 5 6
 
4 5 6
1 2 3
 

Gradi tensoriali

Il numero di direzioni che un tensore può avere in uno spazio N -dimensionale, è chiamato Rango del tensore.

Il rango è indicato con R .

Uno scalare è un numero singolo. R = 0 .

  • Ha 0 assi
  • Ha un rango di 0
  • È un tensore 0-dimensionale

Un vettore è un array di numeri. R = 1 .

  • Ha 1 Asse
  • Ha un rango di 1
  • È un tensore unidimensionale

Una matrice è un array bidimensionale. R = 2 .

  • Ha 2 assi
  • Ha un rango di 2
  • È un tensore bidimensionale

Tensori reali

Tecnicamente tutti i suddetti sono tensori, ma quando si parla di tensori si parla generalmente di matrici con dimensione maggiore di 2 ( R > 2 ).


Algebra lineare in JavaScript

In algebra lineare, l'oggetto matematico più semplice è lo Scalare :

const scalar = 1;

Un altro semplice oggetto matematico è l' Array :

const array = [ 1, 2, 3 ];

Le matrici sono array bidimensionali :

const matrix = [ [1,2],[3,4],[5,6] ];

I vettori possono essere scritti come matrici con una sola colonna:

const vector = [ [1],[2],[3] ];

I vettori possono anche essere scritti come Array :

const vector = [ 1, 2, 3 ];

I tensori sono array N-dimensionali :

const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];

Operazioni tensoriali JavaScript

La programmazione di operazioni sui tensori in JavaScript, può facilmente diventare una spaghettata.

L'uso di una libreria JavScript ti farà risparmiare un sacco di mal di testa.

Una delle librerie più comuni da utilizzare per le operazioni sui tensori è denominata tensorflow.js .

Addizione tensore

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] ]

Sottrazione del tensore

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] ]

Ulteriori informazioni su Tensorflow...