//================================================================C // Test Program of Solver for Dense-Real Linear Equation Ax=b C // by Gauss Elimination with LU Decomposition C //----------------------------------------------------------------C // Written by Yasunori Ushiro , 2007/05/30 C // ( Tokyo Polytechnic University ) C // 後 保範(東京工芸大学) C //================================================================C #include #include #include // Global Define #define NND 1000 double A[NND*NND], B[NND], WA[NND*NND], WB[NND] ; int IP[NND] ; FILE *FT1 ; // Function Definition void DRMAT(double *AA, double *BB, int N, int ND, int IDA, int IDB, double SIG) ; void GLU1(double *AA, double *BB, int N, int ND) ; int GLU2(double *AA, double *BB, int N, int ND, double EPS) ; int GLU3(double *AA, double *BB, int N, int ND, double EPS, int *IP) ; int GLU4(double *AA, double *BB, int N, int ND, double EPS, int *IP) ; // Main Program void main () { int i, j, k, IDA, IDB, IER, T1, T2, N, ND, JND ; double EPS, SIG, FLOP, CPU, PRC, SUM ; // Open File ND = NND ; FT1 = fopen("C-GLU.txt","w") ; T1 = clock() ; // Start Time EPS = 1.0e-14 ; // Size Input printf("Type In Matrix Size(N<=1000) \n") ; scanf("%d",&N) ; if(N > ND) { N=ND ; } fprintf(FT1," Solve Ax=b by Gauss Elimination N=%d \n",N) ; fprintf(FT1,"Type. IER Precision Time(s) MFLOPS \n") ; // Set WA,WB SIG = 0.15 ; IDA = 1 ; IDB = 0 ; DRMAT(WA, WB, N, ND, IDA, IDB, SIG) ; // Loop for Random Test Case for (k=1; k<=4; k++) { // Set A,B for (j=0; j 0.0) { FLOP = 2.0*N/3.0*N*N*1.0e-6/CPU ; } PRC = 0.0 ; SUM = 0.0 ; for (i=0; i