Mathc complexes/a38
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(int r)
double ab[RA*((CA+Cb)*C2)] ={
 1,2, 3,4, 5,6, 5,2, 1,2,
 1,2, 3,4, 5,6, 1,3, 3,4,
 1,2, 3,4, 1,1, 4,2, 5,6};
double **Ab = ca_A_mZ(ab,i_Abr_Ac_bc_mZ(RA,CA,Cb));
double **Ab_Free = i_Abr_Ac_bc_mZ(RAFree,C4,CbFree) ;
double **b_Free = i_mZ(RAFree,CbFree);
 clrscrn();
 printf(" Ab :");
 p_mZ(Ab, S8,P2, S8,P2, C4); 
 printf(" gj_PP_FreeV_mZ(Ab) :");
 p_mZ(gj_PP_FreeV_mZ(Ab), S8,P4, S8,P4, C4); 
 stop(); 
 clrscrn(); 
 put_zeroR_mZ(Ab,Ab_Free); 
 put_freeV_mR(Ab_Free);
 printf(" put_zero_row_mZ(Ab,Ab_Free);\n"
 " put_freeV_mR(Ab_Free);\n\n"
 " Ab_Free :");
 p_mZ(Ab_Free, S8,P4, S8,P4, C4);
 stop(); 
 clrscrn(); 
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mZ(Ab_Free,"Ab_Free",P10, P10);
 printf(" rref(Ab_Free.00000000001)\n\n");
 stop(); 
 clrscrn(); 
 printf(" gj_mZ(Ab) :");
 p_mZ(gj_mZ(Ab_Free), S8,P4, S8,P4, C4); 
 stop(); 
 clrscrn(); 
 printf(" new_b : Free variables"); 
 p_mZ(c_Ab_b_mZ(Ab_Free,b_Free), S8,P4, S8,P4, C4); 
 stop();
 f_mZ(Ab);
 f_mZ(Ab_Free);
 f_mZ(b_Free);
/* ------------------------------------ */
int main(void)
 fun(R5);
 return 0;
/* ------------------------------------ */
 Exemple de sortie écran :
 Ab :
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +5.00 +2.00i 
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +1.00 +3.00i 
 +1.00 +2.00i +3.00 +4.00i +1.00 +1.00i +4.00 +2.00i 
 +1.00 +2.00i 
 +3.00 +4.00i 
 +5.00 +6.00i 
 gj_PP_FreeV_mZ(Ab) :
 +1.0000 +0.0000i +2.2000 -0.4000i +3.4000 -0.8000i +1.8000 -1.6000i 
 -0.0000 +0.0000i +0.0000 -0.0000i +1.0000 +0.0000i +0.0976 -0.1220i 
 +0.0000 -0.0000i +0.0000 +0.0000i -0.0000 +0.0000i +1.0000 +0.0000i 
 +1.0000 +0.0000i 
 -0.8780 +0.0976i 
 -0.3529 -0.5882i 
 Press return to continue. 
 ------------------------------------ 
 put_zero_row_mZ(Ab,Ab_free);
 put_freeV_mR(Ab_free);
 Ab_free :
 +1.0000 +0.0000i +2.2000 -0.4000i +3.4000 -0.8000i +1.8000 -1.6000i 
 +0.0000 +0.0000i +1.0000 +0.0000i +0.0000 +0.0000i +0.0000 +0.0000i 
 -0.0000 +0.0000i +0.0000 -0.0000i +1.0000 +0.0000i +0.0976 -0.1220i 
 +0.0000 -0.0000i +0.0000 +0.0000i -0.0000 +0.0000i +1.0000 +0.0000i 
 +1.0000 +0.0000i +0.0000 +0.0000i 
 +0.0000 +0.0000i +1.0000 +0.0000i 
 -0.8780 +0.0976i +0.0000 +0.0000i 
 -0.3529 -0.5882i +0.0000 +0.0000i 
 Press return to continue. 
 ------------------------------------ 
 gj_mZ(Ab) :
 +1.0000 +0.0000i -0.0000 +0.0000i +0.0000 +0.0000i -0.0000 +0.0000i 
 +0.0000 +0.0000i +1.0000 +0.0000i +0.0000 +0.0000i +0.0000 +0.0000i 
 +0.0000 +0.0000i +0.0000 +0.0000i +1.0000 +0.0000i +0.0000 +0.0000i 
 +0.0000 +0.0000i +0.0000 +0.0000i +0.0000 -0.0000i +1.0000 +0.0000i 
 +5.1113 -0.5039i -2.2000 +0.4000i 
 +0.0000 +0.0000i +1.0000 +0.0000i 
 -0.7719 +0.1119i +0.0000 +0.0000i 
 -0.3529 -0.5882i -0.0000 -0.0000i 
 Press return to continue. 
 ------------------------------------ 
 new_b : free variables
 +5.1113 -0.5039i -2.2000 +0.4000i 
 +0.0000 +0.0000i +1.0000 +0.0000i 
 -0.7719 +0.1119i +0.0000 +0.0000i 
 -0.3529 -0.5882i -0.0000 -0.0000i 
 Press return to continue.

Mathc complexes/a39
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00b.c */
int main(void)
double ab[RA*((CA+Cb)*C2)] ={
 1,2, 3,4, 5,6, 5,2, 1,2,
 1,2, 3,4, 5,6, 1,3, 3,4,
 1,2, 3,4, 1,1, 4,2, 5,6};
double **Ab = ca_A_mZ(ab,i_Abr_Ac_bc_mZ(RA,CA,Cb));
 clrscrn();
 printf(" Ab :");
 p_mZ(Ab, S8,P2, S6,P2, C4); 
 printf(" gj_PP_FreeV_mZ(Ab) :");
 p_mZ(gj_PP_FreeV_mZ(Ab), S9,P4, S8,P4, C4);
 stop(); 
 f_mZ(Ab);
 return 0;
/* ------------------------------------ */
Cet exemple et le suivant présente une manière de résoudre un système d'équation avec des variables libres.
Cet exemple va nous permettre de déterminer la taille des matrices de travail.
 A b
 Le système Ab avait : (R3, C4+C1)
 A b Fv
 Le nouveau système Ab devra avoir : (R4, C4+C1+C1)
 Exemple de sortie écran :
 Ab :
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +5.00 +2.00i 
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +1.00 +3.00i 
 +1.00 +2.00i +3.00 +4.00i +1.00 +1.00i +4.00 +2.00i 
 +1.00 +2.00i 
 +3.00 +4.00i 
 +5.00 +6.00i 
 gj_PP_FreeV_mZ(Ab) :
 +1.0000 +0.0000i +2.2000 -0.4000i +3.4000 -0.8000i +1.8000 -1.6000i 
 -0.0000 +0.0000i +0.0000 -0.0000i +1.0000 +0.0000i +0.0976 -0.1220i 
 +0.0000 -0.0000i +0.0000 +0.0000i -0.0000 +0.0000i +1.0000 +0.0000i 
 +1.0000 +0.0000i 
 -0.8780 +0.0976i 
 -0.3529 -0.5882i 
 Press return to continue. 
 Press return to continue.

Mathc complexes/a40
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00c.c */
int main(void)
double ab[RA*((CA+Cb)*C2)] ={
 1,2, 3,4, 5,6, 5,2, 1,2,
 1,2, 3,4, 5,6, 1,3, 3,4,
 1,2, 3,4, 1,1, 4,2, 5,6};
double **Ab = ca_A_mZ(ab,i_Abr_Ac_bc_mZ(RA,CA,Cb));
double **Ab_free = i_Abr_Ac_bc_mZ(RAFree,CA,CbFree);
double **b_free = i_mZ( RAFree, CbFree);
 clrscrn();
 printf(" Ab :");
 p_mZ(Ab, S8,P2, S6,P2, C4); 
 printf(" b_free :");
 p_mZ(GJ_PP_FreeV_m(Ab,Ab_free,b_free), S10,P4, S8,P4, C4); 
 stop(); 
 f_mZ(Ab);
 f_mZ(Ab_free);
 f_mZ(b_free); 
 return 0;
/* ------------------------------------ */
Dans cet exemple, on a introduit les nouvelles matrices avec les tailles calculées dans l'exemple précédent.
 A b Fv
 Le nouveau système Ab_free devra avoir : (R4, C4+C1+C1)
double **Ab_free = i_Abr_Ac_bc_mZ(R4, C4, C2);
 b Fv
 La matrice b_free devra avoir : (R4, C1+C1)
double **b_free = i_mZ(R4, C2);
 Exemple de sortie écran :
 Ab :
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +5.00 +2.00i 
 +1.00 +2.00i +3.00 +4.00i +5.00 +6.00i +1.00 +3.00i 
 +1.00 +2.00i +3.00 +4.00i +1.00 +1.00i +4.00 +2.00i 
 +1.00 +2.00i 
 +3.00 +4.00i 
 +5.00 +6.00i 
 b_free :
 +5.1113 -0.5039i -2.2000 +0.4000i 
 +0.0000 +0.0000i +1.0000 +0.0000i 
 -0.7719 +0.1119i +0.0000 +0.0000i 
 -0.3529 -0.5882i -0.0000 -0.0000i 
 Press return to continue.

Jeu de rôle sur table — Jouer, créer/Créer des éléments du monde