Path: blob/master/src/C/mainSOR.c
1700 views
#include "SOR.h"1234/*5GENERAL MATRIX (DIAGONAL DOMINANT)67double A[4][4] = { {10, 5, 2, 1},8{2, 15, 2, 3},9{1, 8, 13, 1},10{2, 3, 1, 8} };11double b[4] = {30, 50, 60, 43};12double* x = SOR(A,b, w,eps, N_max);1314TRIDIAGONAL MATRIX15double A[4][4] = { {10, 5, 0, 0},16{2, 15, 2, 0},17{0, 8, 13, 1},18{0, 0, 1, 8} };19double b[4] = {20, 38, 59, 35};20double* x = SOR_trid(A, b, w, eps, N_max);21*/22232425int main()26{27// TRIDIAGONAL WITH CONSTANT aa,bb,cc28double A[4][4] = { {10, 5, 0, 0},29{2, 10, 5, 0},30{0, 2, 10, 5},31{0, 0, 2, 10} };3233double b[4] = {20, 37, 54, 46};3435double aa=2, bb=10, cc=5;363738const double w = 1;39const double eps = 1e-10;40const int N_max = 100;414243printf("Matrix A: \n");44print_matrix(A);45printf("Vector b: \n");46print_array(b);4748// double* x = SOR_abc(aa, bb, cc, b, N, w, eps, N_max);4950double* x0 = calloc(N, sizeof(double) );51double* x1 = calloc(N, sizeof(double) );52double* x = SOR_aabbcc(aa, bb, cc, b, x0, x1, N, w, eps, N_max);5354printf("Solution x: \n");55print_array(x);5657free(x0);58free(x1);5960return 0;61}626364