NumPy: вычислить коэффициент заданного массива с помощью разложения по сингулярному значению
NumPy: упражнение 18 по линейной алгебре с решением
Напишите программу NumPy для вычисления коэффициента данного массива с помощью разложения по сингулярным значениям.
Пример решения :
Код Python:
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)
Пример вывода:
Исходный массив: [[1. 0. 0. 0. 2.] [0. 0. 3. 0. 0.] [0. 0. 0. 0. 0.] [0. 2. 0. 0. 0.]] Коэффициент заданного массива по сингулярному разложению: 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:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу NumPy, чтобы получить факторизацию qr данного массива.
Далее: Напишите программу NumPy для вычисления нормы Фробениуса и номера условия данного массива.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code