Open In App

Get the QR factorization of a given NumPy array

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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 package
import numpy as np
  
# Create a numpy array 
arr = np.array([[10,22],[13,6]])
  
# Find the QR factor of array
q, r =  np.linalg.qr(arr)
  
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)


Output :

Example 2: QR factorization of 2X4 matrix

Python3




# Import numpy package
import numpy as np
  
# Create a numpy array 
arr = np.array([[0, 1], [1, 0], [1, 1], [2, 2]])
  
# Find the QR factor of array
q, r =  np.linalg.qr(arr)
  
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)


Output :

Example 3: QR factorization of 3X3 matrix

Python3




# Import numpy package
import numpy as np
  
# Create a numpy array 
arr = np.array([[5, 11, -15], [12, 34, -51],
                [-24, -43, 92]], dtype=np.int32)
  
# Find the QR factor of array
q, r = np.linalg.qr(arr)
  
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)


Output :



Last Updated : 29 Aug, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads