Exemple de sortie écran :
 Ab :
 +1.0 -3.0 +4.5 -0.5 +4.0 +1.0 +0.0 
 -0.0 -0.0 +1.0 +3.0 -2.0 -6.0 -0.0 
 +0.0 +0.0 +0.0 +0.0 +1.0 +5.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 Ab_free : put_var_mR(Ab,Ab_free);
 +1.0 -3.0 +4.5 -0.5 +4.0 +1.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 -0.0 -0.0 +1.0 +3.0 -2.0 -6.0 -0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +1.0 +5.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 Press return to continue. 
 Ab_free : DEBUG 01 
 +1.0 -3.0 +4.5 -0.5 +4.0 +1.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 -0.0 -0.0 +1.0 +3.0 -2.0 -6.0 -0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +1.0 +5.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 Ab_free : put_freeV_mR(Ab_free) Pivot[2,2]
 +1.0 -3.0 +4.5 -0.5 +4.0 +1.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +1.0 +0.0 +0.0 +0.0 +0.0 +0.0 +1.0 +0.0 +0.0 
 -0.0 -0.0 +1.0 +3.0 -2.0 -6.0 -0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +1.0 +5.0 +0.0 +0.0 +0.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 Press return to continue.

Mathc matrices/h10i
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(int rc)
double **A = eye_mR(i_mR(rc,rc));
double **B = i_mR(rc,rc);
 clrscrn(); 
 printf(" A : \t\t eye_mR();");
 p_mR(A,S5,P0,C10); 
 printf(" B : ");
 eye_mR(B);
 p_mR(B,S5,P0,C10);
// p_mR(eye_mR(B),S5,P0,C10); 
 f_mR(A);
 f_mR(B); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R3));
} while(stop_w());
 return 0;
/* ------------------------------------ */
 La matrice identité.
Exemple de sortie écran :
 A : eye_mR();
 +1 +0 +0 
 +0 +1 +0 
 +0 +0 +1 
 B : 
 +1 +0 +0 
 +0 +1 +0 
 +0 +0 +1 
 Press return to continue
 Press X to stop

Mathc matrices/c101a
Application 
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : gj_s1.c */
void fun(int r)
double **Ab = r_singular_Ab_mR(i_Abr_Ac_bc_mR(r,r,C1),999);
double **A = c_Ab_A_mR(Ab,i_mR(r,r));
double **b = c_Ab_b_mR(Ab,i_mR(r,C1));
 clrscrn();
 printf(" A :");
 p_mR(A,S8,P0,C7);
 printf(" b :");
 p_mR(b,S8,P0,C7); 
 printf(" Ab :");
 p_mR(c_A_b_Ab_mR(A,b,Ab),S8,P0,C7);
 stop();
 clrscrn();
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mR(Ab,"Ab",P0);
 printf("\n rref(Ab.00000000001)\n\n");
 stop();
 clrscrn();
 printf(" gj_mR(Ab) : The system is consistent"); 
 gj_PP_mR(Ab,YES);
 p_mR(Ab,S10,P4,C7);
 is_system_consistent_mR(Ab);
 f_mR(Ab);
 f_mR(b);
 f_mR(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R5)+R1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A :
 -73 +68 -727 -489 +418 -331 
 -411 -801 +770 +16 -623 +792 
 +954 -627 -377 +560 +460 -391 
 -73 +68 -727 -489 +418 -331 
 -121 +818 +448 +548 -755 -809 
 -73 +68 -727 -489 +418 -331 
 b :
 +204 
 +272 
 -559 
 +204 
 -477 
 +204 
 Ab :
 -73 +68 -727 -489 +418 -331 +204 
 -411 -801 +770 +16 -623 +792 +272 
 +954 -627 -377 +560 +460 -391 -559 
 -73 +68 -727 -489 +418 -331 +204 
 -121 +818 +448 +548 -755 -809 -477 
 -73 +68 -727 -489 +418 -331 +204 
 Press return to continue. 
 Copy/Past into the octave window.
 Ab=[
-73,+68,-727,-489,+418,-331,+204;
-411,-801,+770,+16,-623,+792,+272;
+954,-627,-377,+560,+460,-391,-559;
-73,+68,-727,-489,+418,-331,+204;
-121,+818,+448,+548,-755,-809,-477;
-73,+68,-727,-489,+418,-331,+204]
 rref(Ab.00000000001)
 Press return to continue. 
 gj_mR(Ab) : The system is consistent
 +1.00000 +0.00000 +0.00000 +0.00000 +1.70527 +1.88088 +0.21927 
 +0.00000 +1.00000 +0.00000 +0.00000 +0.21183 -0.06474 -0.04469 
 +0.00000 +0.00000 +1.00000 +0.00000 +0.35489 +2.01953 +0.44709 
 +0.00000 +0.00000 +0.00000 +1.00000 -1.60754 -2.61534 -1.12081 
 +0.00000 +0.00000 +0.00000 +0.00000 +0.00000 -0.00000 +0.00000 
 +0.00000 +0.00000 +0.00000 +0.00000 +0.00000 -0.00000 +0.00000 
 Press return to continue
 Press X to stop

Mathc matrices/c101b
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c04.c */
int main(void)
double ab[R4*C7]={
 +1, -3, +4, -2, +5, +4, 0,
 +2, -6, +9, -1, +8, +2, 0,
 +2, -6, +9, -1, +9, +7, 0, 
 -1, 3, -4, 2, -5, -4, 0, 
double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(R4,C6,C1));
double **A = c_Ab_A_mR(Ab,i_mR(R4,C6));
double **b = c_Ab_b_mR(Ab,i_mR(R4,C1));
double **Ab_free = i_Abr_Ac_bc_mR(csize_A_R(Ab),csize_A_R(Ab),C1+C3);
/* b = C1 + C3 free variables */
 clrscrn();
 printf(" A :");
 p_mR(A,S6,P1,C10);
 printf(" b :");
 p_mR(b,S6,P1,C10);
 printf(" Ab :");
 p_mR(Ab,S6,P1,C10);
 stop();
 clrscrn();
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mR(Ab,"Ab",P1);
 printf("\n rref(Ab.00000000001)\n\n");
 printf(" Ab : gj_PP_mR(Ab,NO) :");
 gj_PP_mR(Ab,NO);
 p_mR(Ab,S6,P1,C10);
 stop();
 clrscrn(); 
 put_var_mR(Ab,Ab_free); 
 printf(" Ab_free : put_var_mR(Ab,Ab_free); "); 
 p_mR(Ab_free,S6,P3,C10); 
 stop();
 clrscrn(); 
 put_freeV_mR(Ab_free);
 printf(" Ab_free : put_freeV_mR(Ab_free); "); 
 p_mR(Ab_free,S6,P3,C10); 
 stop();
 f_mR(Ab);
 f_mR(b);
 f_mR(A);
 return 0;
/* ------------------------------------ */
On pose les trois variables libres (1) dans la matrice A et dans la matrice b

Exemple de sortie écran :
 A :
 +1.0 -3.0 +4.0 -2.0 +5.0 +4.0 
 +2.0 -6.0 +9.0 -1.0 +8.0 +2.0 
 +2.0 -6.0 +9.0 -1.0 +9.0 +7.0 
 -1.0 +3.0 -4.0 +2.0 -5.0 -4.0 
 b :
 +0.0 
 +0.0 
 +0.0 
 +0.0 
 Ab :
 +1.0 -3.0 +4.0 -2.0 +5.0 +4.0 +0.0 
 +2.0 -6.0 +9.0 -1.0 +8.0 +2.0 +0.0 
 +2.0 -6.0 +9.0 -1.0 +9.0 +7.0 +0.0 
 -1.0 +3.0 -4.0 +2.0 -5.0 -4.0 +0.0 
 Press return to continue. 
 Copy/Past into the octave window.
 Ab=[
+1.0,-3.0,+4.0,-2.0,+5.0,+4.0,+0.0;
+2.0,-6.0,+9.0,-1.0,+8.0,+2.0,+0.0;
+2.0,-6.0,+9.0,-1.0,+9.0,+7.0,+0.0;
-1.0,+3.0,-4.0,+2.0,-5.0,-4.0,+0.0]
 rref(Ab.00000000001)
 Ab : gj_PP_mR(Ab,NO) :
 +1.0 -3.0 +4.5 -0.5 +4.0 +1.0 +0.0 
 -0.0 -0.0 +1.0 +3.0 -2.0 -6.0 -0.0 
 +0.0 +0.0 +0.0 +0.0 +1.0 +5.0 +0.0 
 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 
 Press return to continue. 
 Ab_free : put_var_mR(Ab,Ab_free); 
+1.000 -3.000 +4.500 -0.500 +4.000 +1.000 +0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 
-0.000 -0.000 +1.000 +3.000 -2.000 -6.000 -0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +1.000 +5.000 +0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 +0.000 
 Press return to continue. 
 Ab_free : put_freeV_mR(Ab_free); 
+1.000 -3.000 +4.500 -0.500 +4.000 +1.000 +0.000 +0.000 +0.000 +0.000 
+0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 
-0.000 -0.000 +1.000 +3.000 -2.000 -6.000 -0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +1.000 +5.000 +0.000 +0.000 +0.000 +0.000 
+0.000 +0.000 +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +0.000 +1.000 
 Press return to continue.