NumPy: Compute the factor of a given array by Singular Value Decomposition
Write a NumPy program to compute the factor of a given array by Singular Value Decomposition.
Sample Solution:
Python Code :
# Importing the NumPy library
import numpy as np
# Create a 4x5 NumPy array 'a' with specified values and data type as float32
a = np.array([[1, 0, 0, 0, 2], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 2, 0, 0, 0]], dtype=np.float32)
# Display the original array 'a'
print("Original array:")
print(a)
# Compute the Singular Value Decomposition (SVD) of the array 'a' using np.linalg.svd()
# The SVD returns matrices 'U', 's' (singular values), and 'V' (conjugate transpose of right singular vectors)
U, s, V = np.linalg.svd(a, full_matrices=False)
# Compute the QR decomposition of the array 'a' using np.linalg.qr()
# QR decomposition provides matrices 'q' (orthogonal/unitary) and 'r' (upper triangular)
q, r = np.linalg.qr(a)
# Display the SVD factorization results of the given array
print("Factor of a given array by Singular Value Decomposition:")
print("U=\n", U, "\ns=\n", s, "\nV=\n", V)
Sample Output:
Original array: [[ 1. 0. 0. 0. 2.] [ 0. 0. 3. 0. 0.] [ 0. 0. 0. 0. 0.] [ 0. 2. 0. 0. 0.]] Factor of a given array by Singular Value Decomposition: U= [[ 0. 1. 0. 0.] [ 1. 0. 0. 0.] [ 0. 0. 0. -1.] [ 0. 0. 1. 0.]] s= [ 3. 2.23606801 2. 0. ] V= [[-0. 0. 1. -0. 0. ] [ 0.44721359 -0. -0. -0. 0.89442718] [-0. 1. 0. -0. 0. ] [ 0. 0. 0. 1. 0. ]]
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics