istril

Determine if matrix is lower triangular

Syntax

• ``tf = istril(A)``
example

Description

example

````tf = istril(A)` returns logical `1` (`true`) if `A` is a lower triangular matrix; otherwise, it returns logical `0` (`false`).```

Examples

collapse all

Test Lower Triangular Matrix

Create a 5-by-5 matrix.

`D = tril(magic(5))`
```D = 17 0 0 0 0 23 5 0 0 0 4 6 13 0 0 10 12 19 21 0 11 18 25 2 9```

Test `D` to see if it is lower triangular.

`istril(D)`
```ans = 1```

The result is logical `1` (`true`) because all elements above the main diagonal are zero.

Test Matrix of Zeros

Create a 5-by-5 matrix of zeros.

`Z = zeros(5);`

Test `Z` to see if it is lower triangular.

`istril(Z)`
```ans = 1```

The result is logical `1` (`true`) because a lower triangular matrix can have any number of zeros on its main diagonal.

Input Arguments

collapse all

`A` — Input arraynumeric array

Input array, specified as a numeric array. `istril` returns logical `0` (`false`) if `A` has more than two dimensions.

Data Types: `single` | `double`
Complex Number Support: Yes

expand all

Lower Triangular Matrix

A matrix is lower triangular if all elements above the main diagonal are zero. Any number of the elements on the main diagonal can also be zero.

For example, the matrix

$A=\left(\begin{array}{cccc}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}1& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0& 0\\ -1& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}1& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0& 0\\ -2& -2& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}1& 0\\ -3& -3& -3& 1\end{array}\right)$

is lower triangular. A diagonal matrix is both upper and lower triangular.

Tips

• Use the `tril` function to produce lower triangular matrices for which `istril` returns logical `1` (`true`).

• The functions `isdiag`, `istriu`, and `istril` are special cases of the function `isbanded`, which can perform all of the same tests with suitably defined upper and lower bandwidths. For example, ```istril(A) == isbanded(A,size(A,1),0)```.