(chibi math linalg)

(array-concatenate axis a . o)

Returns a new specialized array which is the concatenatation of 1 or more arrays along the axis dimension. All arrays must have the same dimension, and all domains must have the same width for each dimension except axis.Shorthand for array-permute, swapping two dimensions.

(array= a . arrays)

Returns true iff all arrays have the same domain, and all elements in the same indexes are =.

(identity-array n . o)

Returns the 2-d identity matrix of size n.Performs Gaussian elimination and returns the factor to apply to the determinant.

(array-inverse a)

Returns the inverse of 2-d array a, or #f if a is not invertible.Computes the determinant of 2-d array a, mutating a in the process.

(determinant a)

Computes the determinant of 2-d array a.Returns a new array representing the matrix multiplication of 2-d arrays a and b.

(array-expt a pow)

(array-div-left a b)

(array-div-right a b)

(pretty-print-array a . opt)

Nicely formatted printing for arrays of any rank. Ranks higher than 2 are represented as successive 2D drawings. Can generate box drawings with left:, right:, etc. keywords specifying the strings to use. For example, Jacal-style matrix output can be done with: (pretty-print-array a #t 'left: "[" 'right: "]") and a tic-tac-toe board can be printed with (pretty-print-array a #t 'line-char: "|" 'top: "-" 'middle-col: "|" center-row: "-")