w3resource

NumPy: Get the qr factorization of a given array


Write a NumPy program to get the qr factorization of a given array.

Sample Solution:

Python Code :

# Importing the NumPy library
import numpy as np

# Create a 3x3 NumPy array 'a' with specified values and data type as int32
a = np.array([[4, 12, -14], [12, 37, -53], [-14, -53, 98]], dtype=np.int32)

# Display the original array 'a'
print("Original array:")
print(a)

# Compute the QR decomposition of the array 'a' using np.linalg.qr()
# QR decomposition provides two matrices 'q' (orthogonal/unitary) and 'r' (upper triangular)
q, r = np.linalg.qr(a)

# Display the 'q' and 'r' matrices obtained from QR factorization of the array
print("qr factorization of the said array:")
print("q=\n", q, "\nr=\n", r) 

Sample Output:

Original array:
[[  4  12 -14]
 [ 12  37 -53]
 [-14 -53  98]]
qr factorization of the said array:
q=
 [[-0.21199958 -0.27930103  0.93650794]
 [-0.63599873 -0.68815735 -0.34920635]
 [ 0.74199852 -0.66964945 -0.03174603]] 
r=
 [[ -18.86796226  -65.4018692   109.39178122]
 [   0.            6.67798664  -25.24309237]
 [   0.            0.            2.28571429]]

Python-Numpy Code Editor: