summaryrefslogtreecommitdiff
path: root/src/eigen.c
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-11-27 15:13:34 -0700
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-11-27 15:13:34 -0700
commitf0b420e8cdd3736e64122c64ab6057b19a12bffc (patch)
treef8a3ee4b49fdd098138c2fd2c01355926febc22a /src/eigen.c
parent0981ffa00ce520df1134714206a70bcc1a08303e (diff)
downloadcmath-f0b420e8cdd3736e64122c64ab6057b19a12bffc.tar.gz
cmath-f0b420e8cdd3736e64122c64ab6057b19a12bffc.zip
recompile software manual after hw 7 and hw 7 p6
Diffstat (limited to 'src/eigen.c')
-rw-r--r--src/eigen.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/eigen.c b/src/eigen.c
index 92ef88c..49cc0e4 100644
--- a/src/eigen.c
+++ b/src/eigen.c
@@ -4,19 +4,9 @@
#include <stdio.h>
#include <string.h>
-Matrix_double *leslie_matrix(Array_double *age_class_surivor_ratio,
- Array_double *age_class_offspring) {
- assert(age_class_surivor_ratio->size + 1 == age_class_offspring->size);
-
- Matrix_double *leslie = InitMatrixWithSize(double, age_class_offspring->size,
- age_class_offspring->size, 0.0);
-
- free_vector(leslie->data[0]);
- leslie->data[0] = copy_vector(age_class_offspring);
-
- for (size_t i = 0; i < age_class_surivor_ratio->size; i++)
- leslie->data[i + 1]->data[i] = age_class_surivor_ratio->data[i];
- return leslie;
+double least_dominant_eigenvalue(Matrix_double *m, Array_double *v,
+ double tolerance, size_t max_iterations) {
+ return shift_inverse_power_eigenvalue(m, v, 0.0, tolerance, max_iterations);
}
double dominant_eigenvalue(Matrix_double *m, Array_double *v, double tolerance,
@@ -110,7 +100,17 @@ Array_double *partition_find_eigenvalues(Matrix_double *m,
return eigenvalues;
}
-double least_dominant_eigenvalue(Matrix_double *m, Array_double *v,
- double tolerance, size_t max_iterations) {
- return shift_inverse_power_eigenvalue(m, v, 0.0, tolerance, max_iterations);
+Matrix_double *leslie_matrix(Array_double *age_class_surivor_ratio,
+ Array_double *age_class_offspring) {
+ assert(age_class_surivor_ratio->size + 1 == age_class_offspring->size);
+
+ Matrix_double *leslie = InitMatrixWithSize(double, age_class_offspring->size,
+ age_class_offspring->size, 0.0);
+
+ free_vector(leslie->data[0]);
+ leslie->data[0] = copy_vector(age_class_offspring);
+
+ for (size_t i = 0; i < age_class_surivor_ratio->size; i++)
+ leslie->data[i + 1]->data[i] = age_class_surivor_ratio->data[i];
+ return leslie;
}