Я пытался найти способ получения первых и первых двух особых значений матрицы. Но после нескольких наших исследований я подумал, что смогу протянуть руку и получить некоторую помощь о том, как найти первое единственное значение матрицы.
import numpy.matlib
import numpy as np
from scipy.linalg import svd
def get_singular_values(M, k):
u, s, v = np.linalg.svd(M, full_matrices=False)
singular_values = numpy.matrix(u[:, :k]) * numpy.diag(s[:k]) *
numpy.matrix(v[:k, :]) #my attempt
return singular_values
M = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
only_first_singular_value = get_singular_values(M, 1) #first singular
print(only_first_singular_value) # 1 is for first singular
only_first_singular_value = get_singular_values(M, 2) #first two singular
print(only_first_singular_value) # 2 is for 2 singular