Implemented general algorithm

This commit is contained in:
Janita Willumsen 2023-09-04 12:27:14 +02:00
parent 6cff40e678
commit c26b788503

View File

@ -7,7 +7,21 @@ arma::vec* general_algorithm(
arma::vec* g_vec
)
{
int n = main_diag->n_elem;
double d;
for (int i = 1; i < n; i++) {
d = (*sub_diag)(i-1) / (*main_diag)(i-1);
(*main_diag)(i) -= d*(*sup_diag)(i-1);
(*g_vec)(i) -= d*(*g_vec)(i-1);
}
(*g_vec)(n-1) /= (*main_diag)(n-1);
for (int i = n-2; i >= 0; i--) {
(*g_vec)(i) = ((*g_vec)(i) - (*sup_diag)(i) * (*g_vec)(i+1)) / (*main_diag)(i);
}
return g_vec;
}