Files
FYS4150/src/project2/include/helpers.hpp
T
2025-09-18 09:06:36 +02:00

18 lines
635 B
C++

#include <armadillo>
#include <cmath>
arma::mat create_tridiagonal_matrix(int N, double h);
arma::mat create_dense_matrix(int N, double h);
void normalize_columns(arma::mat& A);
void analytical_solution(int N, double h, arma::vec& eigenvalues, arma::mat& eigenvectors);
double max_offdiag_symmetric(const arma::mat& A, int& k, int &l);
void jacobi_rotate(arma::mat& A, arma::mat& R, int k, int l);
void jacobi_eigensolver(const arma::mat& A, double eps, arma::vec& eigenvalues, arma::mat& eigenvectors, const int maxiter, int& iterations, bool& converged);
void sort_eigenpairs(arma::vec& eigenvalues, arma::mat& eigenvectors);