# Matrices reference

> All 5 matrices in AlgoBarsX, each with its parameters, defaults, ranges and an example: matrix, transpose, multiply, inverse, covariance_matrix.

Source: https://algobarsx.com/docs/ref-fn-matrix/

### `matrix(rows, columns, fill = 0)` → matrix

A numeric matrix filled with a value.

#### Parameters

| Name | Type | Default | What it is |
| --- | --- | --- | --- |
| `rows` | int | required | Rows. |
| `columns` | int | required | Columns. |
| `fill` | number | `0` | Initial value. |

```algobarsx
grid = matrix(3, 3)
```

Works in: strategy, indicator, alert, library. Since 1.0.

### `transpose(m)` → matrix

Transpose a matrix.

#### Parameters

| Name | Type | Default | What it is |
| --- | --- | --- | --- |
| `m` | matrix | required | Matrix. |

```algobarsx
flipped = transpose(grid)
```

Works in: strategy, indicator, alert, library. Since 1.0.

### `multiply(a, b)` → matrix

Matrix product.

#### Parameters

| Name | Type | Default | What it is |
| --- | --- | --- | --- |
| `a` | matrix | required | Left matrix. |
| `b` | matrix | required | Right matrix. |

```algobarsx
product = multiply(grid, transpose(grid))
```

Works in: strategy, indicator, alert, library. Since 1.0.

### `inverse(m)` → matrix

Matrix inverse; na when the matrix is singular.

#### Parameters

| Name | Type | Default | What it is |
| --- | --- | --- | --- |
| `m` | matrix | required | Square matrix. |

```algobarsx
inv = inverse(grid)
```

Works in: strategy, indicator, alert, library. Since 1.0.

### `covariance_matrix(series, length = 100)` → matrix

Covariance matrix of several series.

#### Parameters

| Name | Type | Default | Range | What it is |
| --- | --- | --- | --- | --- |
| `series` | list<series<number>> | required |  | Series to compare. |
| `length` | int | `100` | 1 to 5000 | Number of bars in the calculation. |

```algobarsx
cov_m = covariance_matrix([returns(close_of(EURUSD)), returns(close_of(GBPUSD))], 100)
```

Works in: strategy, indicator, alert, library. Since 1.0.
