Previous: , Up: Mathematical Packages   [Contents][Index]

### 5.18 Matrix Algebra

`(require 'determinant)`

A Matrix can be either a list of lists (rows) or an array. Unlike linear-algebra texts, this package uses 0-based coordinates.

Function: matrix->lists matrix

Returns the list-of-lists form of matrix.

Function: matrix->array matrix

Returns the array form of matrix.

Function: determinant matrix

matrix must be a square matrix. `determinant` returns the determinant of matrix.

```(require 'determinant)
(determinant '((1 2) (3 4))) ⇒ -2
(determinant '((1 2 3) (4 5 6) (7 8 9))) ⇒ 0
```
Function: transpose matrix

Returns a copy of matrix flipped over the diagonal containing the 1,1 element.

Function: matrix:sum m1 m2

Returns the element-wise sum of matricies m1 and m2.

Function: matrix:difference m1 m2

Returns the element-wise difference of matricies m1 and m2.

Function: matrix:product m1 m2

Returns the product of matrices m1 and m2.

Function: matrix:product m1 z

Returns matrix m1 times scalar z.

Function: matrix:product z m1

Returns matrix m1 times scalar z.

Function: matrix:inverse matrix

matrix must be a square matrix. If matrix is singular, then `matrix:inverse` returns #f; otherwise `matrix:inverse` returns the `matrix:product` inverse of matrix.