#include void main () { float **allocate_real_matrix(int, int, int, int); void free_real_matrix(float **, int, int, int); void gssinverb(float **, int, float []); int i; float **a,aux[12]; a=allocate_real_matrix(1,4,1,4); a[1][1]=4.0; a[1][2]=2.0; a[1][3]=4.0; a[1][4]=1.0; a[2][1]=30.0; a[2][2]=20.0; a[2][3]=45.0; a[2][4]=12.0; a[3][1]=20.0; a[3][2]=15.0; a[3][3]=36.0; a[3][4]=10.0; a[4][1]=35.0; a[4][2]=28.0; a[4][3]=70.0; a[4][4]=20.0; aux[0]=aux[2]=aux[6]=1.0e-14; aux[4]=8; gssinverb(a,4,aux); printf("Calculated inverse:\n"); for (i=1; i<=4; i++) printf(" %4.0f%4.0f%4.0f%4.0f\n",a[i][1],a[i][2],a[i][3],a[i][4]); printf("\nAUX elements:\n%e\n%e\n%e\n%e\n%e\n%e\n", aux[1],aux[3],aux[5],aux[7],aux[9],aux[11]); free_real_matrix(a,1,4,1); }