Get the QR factorization of a given NumPy array (original) (raw)
Last Updated : 29 Aug, 2020
In this article, we will discuss QR decomposition or QR factorization of a matrix. QR factorization of a matrix is the decomposition of a matrix say ‘A’ into ‘A=QR’ where Q is orthogonal and R is an upper-triangular matrix. We factorize the matrix using numpy.linalg.qr() function.
Syntax : numpy.linalg.qr(a, mode=’reduced’)
Parameters :
- a : matrix(M,N) which needs to be factored.
- mode : it is optional. It can be :
Below are some examples of how to use the above-described function :
Example 1: QR factorization of 2X2 matrix
Python3
import
numpy as np
arr
=
np.array([[
10
,
22
],[
13
,
6
]])
q, r
=
np.linalg.qr(arr)
print
(
"Decomposition of matrix:"
)
print
(
"q=\n"
, q,
"\nr=\n"
, r)
Output :
Example 2: QR factorization of 2X4 matrix
Python3
import
numpy as np
arr
=
np.array([[
0
,
1
], [
1
,
0
], [
1
,
1
], [
2
,
2
]])
q, r
=
np.linalg.qr(arr)
print
(
"Decomposition of matrix:"
)
print
(
"q=\n"
, q,
"\nr=\n"
, r)
Output :
Example 3: QR factorization of 3X3 matrix
Python3
import
numpy as np
arr
=
np.array([[
5
,
11
,
-
15
], [
12
,
34
,
-
51
],
`` [
-
24
,
-
43
,
92
]], dtype
=
np.int32)
q, r
=
np.linalg.qr(arr)
print
(
"Decomposition of matrix:"
)
print
(
"q=\n"
, q,
"\nr=\n"
, r)
Output :