/* test_mpf_inverse.c tough matrix to invert accurately, use multiple */ /* precision math package */ #include #include #include "gmp.h" #include "mpf_inverse.h" #define digits 500 static mpf_t AA[1024*1024]; static mpf_t AI[1024*1024]; static mpf_t II[1024*1024]; int main(int argc, char * argv[]) { int i, j, k, n; mpf_t err; mpf_t JK, T, T2, zero, one; double cputime; gmp_printf("test_mpf_inverse.c on tough matrix to invert, %d digits \n", digits); cputime = (double)clock()/(double)CLOCKS_PER_SEC; mpf_set_default_prec(digits*3.32); /* digits */ mpf_init(err); mpf_init(JK); mpf_init(T); mpf_init(T2); mpf_init(zero); mpf_init(one); n = 1; mpf_set_si(zero, 0); mpf_set_si(one, 1); while(n < 512) /* < 1024 */ { n=n*2; gmp_printf("initializing big matrix, n=%d, n*n=%d \n", n, n*n); for(i=0; i