Identity

La función estática crea una matriz unitaria de un tamaño especificado (no necesariamente cuadrada). La matriz unitaria contiene unidades en la diagonal principal y ceros fuera de la misma. La diagonal principal está formada por elementos de matriz con índices de fila y columna iguales, es decir, [0,0],[1,1],[2,2], etc. Crea una nueva matriz unitaria.

También existe el método Identity, que convierte una matriz existente en una matriz unitaria.

static matrix matrix::Identity(
  const ulong  rows,        // número de filas
  const ulong  cols,        // número de columnas
   );
 
void matrix::Identity();
 

Parámetros

rows

[in]  Número de filas (y columnas) en la matriz n x n.

Valor retornado

Retorna una matriz unitaria. Una matriz unitaria es una matriz cuadrada con unidades en la diagonal principal.

 

Ejemplo en MQL5:

  matrix identity=matrix::Identity(3,3);
  Print("identity = \n"identity);  
/* 
   identity = 
   [[1,0,0]
    [0,1,0]
    [0,0,1]]
*/
  matrix identity2(3,5);
  identity2.Identity();
  Print("identity2 = \n"identity2);  
/* 
   identity2 = 
   [[1,0,0,0,0]
    [0,1,0,0,0]
    [0,0,1,0,0]]
*/ 

Ejemplo en Python:

np.identity(3)
array([[1.,  0.,  0.],
       [0.,  1.,  0.],
       [0.,  0.,  1.]])