From 1a6b95273628d898226eb448c8b671dc33f3c495 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Wed, 15 Nov 2023 14:16:15 -0700 Subject: compute dominant eigenvalue --- test/eigen.t.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/eigen.t.c (limited to 'test/eigen.t.c') diff --git a/test/eigen.t.c b/test/eigen.t.c new file mode 100644 index 0000000..985a304 --- /dev/null +++ b/test/eigen.t.c @@ -0,0 +1,23 @@ +#include "lizfcm.test.h" + +UTEST(eigen, dominant_eigenvalue) { + Matrix_double *m = InitMatrixWithSize(double, 2, 2, 0.0); + m->data[0]->data[0] = 2.0; + m->data[0]->data[1] = -12.0; + m->data[1]->data[0] = 1.0; + m->data[1]->data[1] = -5.0; + + Array_double *v_guess = InitArrayWithSize(double, 2, 1.0); + double tolerance = 0.0001; + uint64_t max_iterations = 64; + + double expect_dominant_eigenvalue = -2.0; + + double approx_dominant_eigenvalue = + dominant_eigenvalue(m, v_guess, tolerance, max_iterations); + + EXPECT_NEAR(expect_dominant_eigenvalue, approx_dominant_eigenvalue, + tolerance); + free_matrix(m); + free_vector(v_guess); +} -- cgit v1.2.3-70-g09d2