Common Lisp Package: CL-NUM-UTILS.MATRIX-SHORTHAND

README:

FUNCTION

Public

DIAGONAL-MX (ELEMENT-TYPE &REST ELEMENTS)

Return a DIAGONAL-MATRIX with elements coerced to ELEMENT-TYPE.

VEC (ELEMENT-TYPE &REST ELEMENTS)

Return a vector with elements coerced to ELEMENT-TYPE.

Private

PAD-LEFT-EXPANSION (ROWS NCOL)

Pad ragged-right rows. Used internally to implement ragged right matrix specifications.

MACRO

Public

HERMITIAN-MX (ELEMENT-TYPE &BODY ROWS)

Macro for creating a lower triangular matrix. ROWS should be a list of lists, elements are evaluated. Masked elements (above the diagonal) are ignored at the expansion, rows which don't have enough elements are padded with zeros.

LOWER-TRIANGULAR-MX (ELEMENT-TYPE &BODY ROWS)

Macro for creating a lower triangular matrix. ROWS should be a list of lists, elements are evaluated. Masked elements (above the diagonal) are ignored at the expansion, rows which don't have enough elements are padded with zeros.

MX (ELEMENT-TYPE &BODY ROWS)

Macro for creating a (dense) matrix (ie a rank 2 array). ROWS should be a list of lists (or atoms, which are treated as lists), elements are evaluated.

UPPER-TRIANGULAR-MX (ELEMENT-TYPE &BODY ROWS)

Macro for creating an upper triangular matrix. ROWS should be a list of lists, elements are evaluated. Masked elements (below the diagonal) are ignored at the expansion.