Tri

This is a static function Construct a matrix with ones at and below the given diagonal and zeros elsewhere.

static matrix matrix::Tri(
  const ulong rows,        // number of rows
  const ulong cols,        // number of columns
  const int   ndiag=0      // number of diagonal
   );

Parameters

rows

[in]  Number of rows in the array.

cols

[in]  Number of columns in the array.

ndiag=0

[in]  The sub-diagonal at and below which the array is filled. k = 0 is the main diagonal, while k < 0 is below it, and k > 0 is above. The default is 0.

Return Value

Array with its lower triangle filled with ones and zero elsewhere.

MQL5 example:

   matrix matrix_a=matrix::Tri(3,4,1);
   Print("Tri(3,4,1)\n",matrix_a);
   matrix_a=matrix::Tri(4,3,-1);
   Print("Tri(4,3,-1)\n",matrix_a);
 
/*
   Tri(3,4,1)
   [[1,1,0,0]
    [1,1,1,0]
    [1,1,1,1]]
   Tri(4,3,-1)
   [[0,0,0]
    [1,0,0]
    [1,1,0]
    [1,1,1]]
*/

Example

np.tri(352dtype=int)
array([[11100],
       [11110],
       [11111]])