w3resource

NumPy: Compute the factor of a given array by Singular Value Decomposition

NumPy: Linear Algebra Exercise-18 with Solution

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:

Previous: Write a NumPy program to get the qr factorization of a given array.
Next: Write a NumPy program to calculate the Frobenius norm and the condition number of a given array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://198.211.115.131/python-exercises/numpy/linear-algebra/numpy-linear-algebra-exercise-18.php