# Function lup #

Calculate the Matrix LU decomposition with partial pivoting. Matrix `A`

is decomposed in two matrices (`L`

, `U`

) and a
row permutation vector `p`

where `A[p,:] = L * U`

## Syntax #

```
math.lup(A)
```

### Parameters #

Parameter | Type | Description |
---|---|---|

`A` |
Matrix | Array | A two dimensional matrix or array for which to get the LUP decomposition. |

### Returns #

Type | Description |
---|---|

{L: Array | Matrix, U: Array | Matrix, P: Array.<number>} | The lower triangular matrix, the upper triangular matrix and the permutation matrix. |

### Throws #

Type | Description —- | ———–

## Examples #

```
const m = [[2, 1], [1, 4]]
const r = math.lup(m)
// r = {
// L: [[1, 0], [0.5, 1]],
// U: [[2, 1], [0, 3.5]],
// P: [0, 1]
// }
```