﻿ matrix – Algosim documentation
Algosim documentation: matrix

# matrix

Creates a matrix or converts an object to a matrix.

## Syntax

• `matrix(X)`

• `X` is any object

• `matrix(n, a[, b[, ...]])`

• `a, b, ...` are numbers

## Description

### Converting an object to a matrix

If `X` is any object, `matrix(X)` returns `X` as a matrix:

• If `X` is a number, `matrix(X)` returns a 1×1 matrix containing only `X`.

• If `v` is a vector, `matrix(v)` returns `v` as a single-column matrix.

• If `L` is a two-dimensional list of numbers, e.g. `'('(1, 2, 3), '(4, 5, 6))`, then `matrix(L)` returns the corresponding matrix, e.g. `❨❨1, 2, 3❩, ❨4, 5, 6❩❩`.

• If `s` is a string, `matrix(s)` attempts to parse it as a real matrix by splitting it on newlines (rows) and tabs, commas, or semicolons (columns).

To obtain a column matrix from a one-dimensional list of numbers, it is necessary to first convert the list to a vector: `matrix(vector('(1, 2, 3)))`.

To parse a string as a complex matrix, use the `ComplexMatrix` function.

### Creating a matrix from a list of numbers

If `n` is a positive integer and `a, b, ...` is a list of number of length `nk` for some positive integer `k`, then `matrix(n, a, b, ...)` is the matrix of size `k`×`n` consisting of the numbers `a, b, ...` in row-major order.

## Notes

• The `matrix` function is one of the principal ways of creating a matrix.

## Examples

`matrix(5, 4, 3, 2, 0, 1, 4, 5, 2, 0, 1, 1, 2, 3, 6, 5)`
```⎛4  3  2  0  1⎞
⎜4  5  2  0  1⎟
⎝1  2  3  6  5⎠
```
`matrix(❨4, 1, 2❩)`
```⎛4⎞
⎜1⎟
⎝2⎠
```
`matrix("1, 2, 3"~¶~"5, 6, 7")`
```⎛1  2  3⎞
⎝5  6  7⎠
```
`matrix(compute(a⋅b, a, 1, 12, b, 1, 12))`
```⎛  1    2    3    4    5    6    7    8    9   10   11   12⎞
⎜  2    4    6    8   10   12   14   16   18   20   22   24⎟
⎜  3    6    9   12   15   18   21   24   27   30   33   36⎟
⎜  4    8   12   16   20   24   28   32   36   40   44   48⎟
⎜  5   10   15   20   25   30   35   40   45   50   55   60⎟
⎜  6   12   18   24   30   36   42   48   54   60   66   72⎟
⎜  7   14   21   28   35   42   49   56   63   70   77   84⎟
⎜  8   16   24   32   40   48   56   64   72   80   88   96⎟
⎜  9   18   27   36   45   54   63   72   81   90   99  108⎟
⎜ 10   20   30   40   50   60   70   80   90  100  110  120⎟
⎜ 11   22   33   44   55   66   77   88   99  110  121  132⎟
⎝ 12   24   36   48   60   72   84   96  108  120  132  144⎠
```