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 :

import numpy as np
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)
print("Original array:")
print(a)
U, s, V = np.linalg.svd(a, full_matrices=False)
q, r = np.linalg.qr(a)
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 Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

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 Python skills with w3resource's quiz



Python: Tips of the Day

Python: The Zip() Function

>>> students = ('John', 'Mary', 'Mike')
>>> ages = (15, 17, 16)
>>> scores = (90, 88, 82, 17, 14)
>>> for student, age, score in zip(students, ages, scores):
...     print(f'{student}, age: {age}, score: {score}')
... 
John, age: 15, score: 90
Mary, age: 17, score: 88
Mike, age: 16, score: 82
>>> zipped = zip(students, ages, scores)
>>> a, b, c = zip(*zipped)
>>> print(b)
(15, 17, 16)