feat: calculate eigenvalues using numpy library

This commit is contained in:
Krzysztof Rudnicki 2024-11-25 15:47:17 +01:00
parent 90fb64506a
commit 2619f041d7

View File

@ -5,6 +5,7 @@ from processing_type import ProcessingType
from time_measurement import time_measurement, time_accumulator, tests_time from time_measurement import time_measurement, time_accumulator, tests_time
import time import time
import gc import gc
import numpy as np
class RichardsonMethod: class RichardsonMethod:
@time_measurement(time_accumulator) @time_measurement(time_accumulator)
@ -23,7 +24,10 @@ class RichardsonMethod:
@staticmethod @staticmethod
def calculate_eigenvalues(LinAlgType, A, type): def calculate_eigenvalues(LinAlgType, A, type):
return EigenvalueMethods.inverse_power_method(LinAlgType, A, type), EigenvalueMethods.power_method(LinAlgType, A, type) eigenvalues = np.linalg.eigvals(A)
lambda_min = np.min(eigenvalues)
lambda_max = np.max(eigenvalues)
return lambda_min, lambda_max
@staticmethod @staticmethod
def calculate_omega(lambda_min, lambda_max): def calculate_omega(lambda_min, lambda_max):