The default scheme for storing matrices
is the obvious one described in subsection 5.1.6:
a matrix `A` is stored in a two-dimensional array A, with
matrix element stored in array element A(`i,j`).

If a matrix is **triangular**
(upper or lower, as specified by
the argument UPLO), only the elements of the relevant triangle
are accessed. The remaining elements of the array need not be set.
Such elements are indicated by ***** in the examples below.
For example, when `n` = 4:

Similarly, if the matrix is upper Hessenberg, elements below the first subdiagonal need not be set.

Routines that handle **symmetric**
or **Hermitian** matrices
allow for either the upper or lower triangle of the matrix
(as specified by UPLO) to
be stored in the corresponding elements of the array; the remaining
elements of the array need not be set.
For example, when `n` = 4:

Tue Nov 29 14:03:33 EST 1994