<!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->

# 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

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

### Parameters

Parameter | Type | Description
--------- | ---- | -----------
`A` | Matrix &#124; Array | A two dimensional matrix or array for which to get the LUP decomposition.

### Returns

Type | Description
---- | -----------
{L: Array &#124; Matrix, U: Array &#124; Matrix, P: Array.&lt;number&gt;} | The lower triangular matrix, the upper triangular matrix and the permutation matrix.


## Examples

```js
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]
// }
```


## See also

[slu](slu.md),
[lsolve](lsolve.md),
[lusolve](lusolve.md),
[usolve](usolve.md)
