# LU Decomposition in Python

# LU Decomposition in Python

### L U decomposition matrix

It is the factorization of a given square matrix into two triangular matrices. In this, one upper triangular matrix and one lower triangular matrix, so that the product of these two matrices gives the first matrix. Introduced by Alan Turing in 1948, who created the experimental machine.

This method of factorizing a matrix as a product of two triangular matrices has a variety of applications such as a mathematical system solution, itself which is an integral part of many applications such as circuit availability and flexibility system solutions; find the inverse of the matrix and determinant of the matrix.

#### PLU decomposition

**Example 1:**

**LU Decomposition in Python using Scipy (linear algebra library)**

import pprint

import scipy

import scipy.linalg

A = scipy.array([[7,3,-1,2],[3,8,1,4],[-1,1,4,-1],[2,-4,-1,6]])

P,L,U = scipy.linalg.lu(A)

print("A:")

pprint.pprint(A)

print("P:")

pprint.pprint(P)

print("L:")

pprint.pprint(L)

print("U:")

pprint.pprint(U)

`Output:`

A: array([[ 7, 3, -1, 2], [ 3, 8, 1, 4], [-1, 1, 4, -1], [ 2, -4, -1, 6]]) P: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]) L: array([[ 1. , 0. , 0. , 0. ], [ 0.42857143, 1. , 0. , 0. ], [-0.14285714, 0.21276596, 1. , 0. ], [ 0.28571429, -0.72340426, 0.08982036, 1. ]]) U: array([[ 7. , 3. , -1. , 2. ], [ 0. , 6.71428571, 1.42857143, 3.14285714], [ 0. , 0. , 3.55319149, -1.38297872], [ 0. , 0. , 0. , 7.82634731]])Example 2:LU Decomposition in Python using Scipy (linear algebra library)

`import pprint`

import scipy

import scipy.linalg

A = scipy.array([[1,3,5],[2,4,7],[1,1,0]])

P,L,U = scipy.linalg.lu(A)

print("A:")

pprint.pprint(A)

print("P:")

pprint.pprint(P)

print("L:")

pprint.pprint(L)

print("U:")

pprint.pprint(U)

`Output:`

A: array([[1, 3, 5], [2, 4, 7], [1, 1, 0]]) P: array([[0., 1., 0.], [1., 0., 0.], [0., 0., 1.]]) L: array([[ 1. , 0. , 0. ], [ 0.5, 1. , 0. ], [ 0.5, -1. , 1. ]]) U: array([[ 2. , 4. , 7. ], [ 0. , 1. , 1.5], [ 0. , 0. , -2. ]])Example 3:LU Decomposition in Python using Scipy (linear algebra library)import pprint

import scipy

import scipy.linalg

A = scipy.array([[11,9,24,2],[1,5,2,6],[3,17,18,1],[2,5,7,1]])

P,L,U = scipy.linalg.lu(A)

print("A:")

pprint.pprint(A)

print("P:")

pprint.pprint(P)

print("L:")

pprint.pprint(L)

print("U:")

pprint.pprint(U)

Output:

```
A:
array([[11, 9, 24, 2],
[ 1, 5, 2, 6],
[ 3, 17, 18, 1],
[ 2, 5, 7, 1]])
P:
array([[1., 0., 0., 0.],
[0., 0., 1., 0.],
[0., 1., 0., 0.],
[0., 0., 0., 1.]])
L:
array([[1. , 0. , 0. , 0. ],
[0.27272727, 1. , 0. , 0. ],
[0.09090909, 0.2875 , 1. , 0. ],
[0.18181818, 0.23125 , 0.00359712, 1. ]])
U:
array([[11. , 9. , 24. , 2. ],
[ 0. , 14.54545455, 11.45454545, 0.45454545],
[ 0. , 0. , -3.475 , 5.6875 ],
[ 0. , 0. , 0. , 0.51079137]])
```