/* * CG 2x2 case with potitive definite assumption based on Cholesky decomposition. * From wiki: * The matrix M is positive definite if and only if there exists a unique lower * triangular matrix L, with real and strictly positive diagonal elements, such * that M = LL*. This factorization is called the Cholesky decomposition of M. */ #include #include #define n 2 $input double a1,a2,a3; $assume(a1>0 && a3>0); //dignoal enties are positive $input double b[n]; double x[n]; double xcg[n]; void cg(double A[n][n], double b[n], double x[n], int steps) { double r[n]; double p[n]; double temp[n]; double tempp[n]; double rsold; double rsnew; double rsfrac; double alpha; for(int i=0; i rsnew = 0.0; for(int i=0; i