Identity

Статическая функция создаёт единичную матрицу указанного размера (необязательно квадратную). Единичная матрица содержит единицы в главной диагонали и нули за пределами главной диагонали. Главная диагональ состоит из элементов матрицы, индексы строки и столбца которого равны, то есть [0,0],[1,1],[2,2] и т.д. Создает новую единичную матрицу.

Также существует метод Identity, который преобразует уже существующую матрицу в единичную.

static matrix matrix::Identity(
  const ulong  rows,        // количество строк
  const ulong  cols,        // количество столбцов
   );
 
void matrix::Identity();
 

Параметры

rows

[in]  Количество строк (и столбцов) в матрице n x n.

Возвращаемое значение

Возвращает единичную матрицу. Единичная матрица — квадратную матрицу с единицами на главной диагонали.

 

Пример на 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]]
*/ 

Пример на Python:

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