Project-2/src/test_suite.cpp

36 lines
643 B
C++

#include <cassert>
#include <cmath>
#include "matrix.hpp"
void test_create_symmetric_tridiagonal() {
double tol = 10e-8;
double diff;
int N = 6;
double h = 1./(double) (N+1);
double a = -1. / (h*h), d = 2. / (h*h);
arma::mat A = create_symmetric_tridiagonal(N, a, d);
arma::vec eigval;
arma::mat eigvec;
arma::eig_sym(eigval, eigvec, A);
for (int i=0; i < N; i++) {
diff = eigval(i) - (d + 2.*a*std::cos(((i+1.)*M_PI)/(N+1.)));
assert(std::abs(diff) < tol);
}
}
void test_max_off_diag_symmetric() {
}
int main() {
test_create_symmetric_tridiagonal();
return 0;
}