TriU

Возвращает копию матрицы, заменив все элементы ниже k-й диагонали на нули. Верхнетреугольная матрица.

matrix matrix::Triu(
  const int     ndiag=0      // индекс диагонали
   );

Параметры

ndiag=0

[in]  Диагональ, ниже которой элементы заменяются на нули. ndiag = 0 (по умолчанию) — основная диагональ, ndiag < 0 — ниже, а ndiag > 0 — выше основной диагонали.

 

Пример на MQL5:

   matrix a={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
   matrix b=a.TriU(-1);
   Print("matrix b \n",b);
 
  /*
  matrix b
  [[1,2,3]
   [4,5,6]
   [0,8,9]
   [0,0,12]]
  */

Пример на Python:

import numpy as np
 
a=np.triu([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], -1)
print(a)
 
[[ 1  2  3]
 [ 4  5  6]
 [ 0  8  9]
 [ 0  0 12]]