From 09dd5c5eb250d866c939965d6ec8ccb919b4dc0a Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Mon, 27 Nov 2023 10:16:47 -0700 Subject: normalize eigenvector for numerical running purposes --- src/eigen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/eigen.c') diff --git a/src/eigen.c b/src/eigen.c index 83b1127..36ccc92 100644 --- a/src/eigen.c +++ b/src/eigen.c @@ -31,6 +31,10 @@ double dominant_eigenvalue(Matrix_double *m, Array_double *v, double tolerance, while (error >= tolerance && (--iter) > 0) { Array_double *eigenvector_2 = m_dot_v(m, eigenvector_1); + Array_double *normalized_eigenvector_2 = + scale_v(eigenvector_2, 1.0 / linf_norm(eigenvector_2)); + free_vector(eigenvector_2); + eigenvector_2 = normalized_eigenvector_2; Array_double *mx = m_dot_v(m, eigenvector_2); double new_lambda = -- cgit v1.2.3-70-g09d2