(7) 
 -9789 -29367 -19578 +0 -7254 +546 +5343 -6045 
 +0 +254514 +166413 +0 +66976 -14339 -44525 +50375 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 R1 = -2*R3 + R1 ( 2*9789 = 19578)
 R2 = +17*R3 + R2 (17*9789 = 166413)
 -9789 -29367 +0 +0 -10946 +52 +7501 -4771 
 +0 +254514 +0 +0 +98358 -10140 -62868 +39546 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 Press return to continue. 
 ------------------------------------ 
 (8) 
 -9789 -29367 +0 +0 -10946 +52 +7501 -4771 
 +0 +254514 +0 +0 +98358 -10140 -62868 +39546 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 R2 = -1./26.*R2 
 -9789 -29367 +0 +0 -10946 +52 +7501 -4771 
 -0 -9789 -0 -0 -3783 +390 +2418 -1521 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 Press return to continue. 
 ------------------------------------ 
 (9) 
 -9789 -29367 +0 +0 -10946 +52 +7501 -4771 
 -0 -9789 -0 -0 -3783 +390 +2418 -1521 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 R1 =-3*R2 + R1 (3*-9789 = 29367) 
 -9789 +0 +0 +0 +403 -1118 +247 -208 
 -0 -9789 -0 -0 -3783 +390 +2418 -1521 
 -0 -0 -9789 -0 +1846 +247 -1079 -637 
 +0 +0 +0 -9789 -845 -182 -1781 +2015 
 Press return to continue. 
 ------------------------------------ 
 A : 
 +1.00000 +3.00000 +2.00000 +3.00000 
 +9.00000 +1.00000 +1.00000 +2.00000 
 +2.00000 +3.00000 +8.00000 +5.00000 
 +3.00000 +4.00000 +8.00000 +1.00000 
 +1.00000 +0.00000 +0.00000 +0.00000 
 +0.00000 +1.00000 +0.00000 +0.00000 
 +0.00000 +0.00000 +1.00000 +0.00000 
 +0.00000 +0.00000 +0.00000 +1.00000 
 A : inv_mR(invA, T); [see : double inva[R4*C4] ]
 +1.00 +3.00 +2.00 +3.00 
 +9.00 +1.00 +1.00 +2.00 
 +2.00 +3.00 +8.00 +5.00 
 +3.00 +4.00 +8.00 +1.00 
 Press return to continue.

Mathc matrices/c30f
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c2c.c */
int main(void)
double a[R3*C6]={
1, 3, 3, 1,0,0,
2, 8, 1, 0,1,0,
1, 4, -6, 0,0,1,
double inva[R3*C3]={
 +52/13., -30/13., +21/13., 
 -13/13., +9/13., -5/13., 
 -0/13., +1/13., -2/13.,
double **A = ca_A_mR(a, i_mR(R3,C6));
double **invA = ca_A_mR(inva,i_mR(R3,C3));
double **T = i_mR(R3,C3);
int i = 1;
/* 1----------------------------------- 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +2.00 +8.00 +1.00 +0.00 +1.00 +0.00 
 +1.00 +4.00 -6.00 +0.00 +0.00 +1.00 
 clrscrn();
 printf(" (%d) \n\n",i++);
 p_mR(A,S11,P2,C8);
 printf(" R2 = -2*R1 + R2 \n");addR_mR(A, -2,R1,R2); 
 printf(" R3 = -1*R1 + R3 \n");addR_mR(A, -1,R1,R3); 
 p_mR(A,S11,P2,C8);
 stop();
/* 2----------------------------------- 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +1.00 -9.00 -1.00 +0.00 +1.00
 clrscrn();
 printf(" (%d) \n\n",i++);
 p_mR(A,S11,P2,C8);
 printf(" R3 = 2*R3 \n"); mulR_mR(A, 2.,R3); 
 printf(" R3 = -1*R2 + R3 \n");addR_mR(A,-1.,R2,R3); 
 p_mR(A,S11,P2,C8);
 stop();
/* 3----------------------------------- 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +0.00 -13.00 +0.00 -1.00 +2.00 
 clrscrn();
 printf(" (%d) \n\n",i++);
 p_mR(A,S11,P2,C8);
 printf(" R1 = 13.*R 1 \n"); mulR_mR(A, 13.,R1); 
 printf(" R2 = 13.*R2 \n"); mulR_mR(A, 13.,R2); 
 printf(" R3 = -1. *R3\n\n"); mulR_mR(A, -1.,R3 ); 
 printf(" R1 = -3*R3 + R1 \n");addR_mR(A, -3.,R3,R1); 
 printf(" R2 = +5*R3 + R2 \n");addR_mR(A, +5.,R3,R2); 
 p_mR(A,S11,P2,C8);
 stop();
/* 4----------------------------------- 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +26.00 +0.00 -26.00 +18.00 -10.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 clrscrn();
 printf(" (%d) \n\n",i++);
 p_mR(A,S11,P2,C8);
 printf(" R2 = 1./2.*R2 \n");mulR_mR(A,1./2.,R2); 
 p_mR(A,S11,P2,C8);
 stop();
/* 5----------------------------------- 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +13.00 +0.00 -13.00 +9.00 -5.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 clrscrn();
 printf(" (%d) \n\n",i++);
 p_mR(A,S11,P2,C8);
 printf(" R1 = -3 *R2 + R1 (3*13 = 39)\n");addR_mR(A, -3.,R2,R1); 
 p_mR(A,S11,P2,C8);
 stop();
/* 6----------------------------------- 
 +13.00 +0.00 +0.00 +52.00 -30.00 +21.00 
 +0.00 +13.00 +0.00 -13.00 +9.00 -5.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00

clrscrn();
 printf(" A : ");
 ca_A_mR(a, A);
 p_mR(A,S11,P2,C6);
 printf(" A : inv_mR(invA, T); [see : double inva[R3*C3] ]");
 inv_mR(invA, T);
 p_mR(T, S11, P2, C6);
 stop(); 
 f_mR(A);
 f_mR(invA);
 f_mR(T);
 return 0;
/* ------------------------------------ */
Le but de ces exemples est d'inverser une matrice sans faire apparaître de fraction. La matrice double inva[R3*C3] donne le résultat calculé dans le fichier et permet de vérifier que inv(invA) = A.
 Exemple de sortie écran :
 (1) 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +2.00 +8.00 +1.00 +0.00 +1.00 +0.00 
 +1.00 +4.00 -6.00 +0.00 +0.00 +1.00 
 R2 = -2*R1 + R2 
 R3 = -1*R1 + R3 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +1.00 -9.00 -1.00 +0.00 +1.00 
 Press return to continue. 
 ------------------------------------ 
 (2) 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +1.00 -9.00 -1.00 +0.00 +1.00 
 R3 = 2*R3 
 R3 = -1*R2 + R3 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +0.00 -13.00 +0.00 -1.00 +2.00 
 Press return to continue. 
 (3) 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +0.00 +2.00 -5.00 -2.00 +1.00 +0.00 
 +0.00 +0.00 -13.00 +0.00 -1.00 +2.00 
 R1 = 13.*R 1 
 R2 = 13.*R2 
 R3 = -1. *R3
 R1 = -3*R3 + R1 
 R2 = +5*R3 + R2 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +26.00 +0.00 -26.00 +18.00 -10.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 Press return to continue. 
 ------------------------------------ 
 (4) 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +26.00 +0.00 -26.00 +18.00 -10.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 R2 = 1./2.*R2 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +13.00 +0.00 -13.00 +9.00 -5.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 Press return to continue. 
 ------------------------------------ 
 (5) 
 +13.00 +39.00 +0.00 +13.00 -3.00 +6.00 
 +0.00 +13.00 +0.00 -13.00 +9.00 -5.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 R1 = -3 *R2 + R1 (3*13 = 39)
 +13.00 +0.00 +0.00 +52.00 -30.00 +21.00 
 +0.00 +13.00 +0.00 -13.00 +9.00 -5.00 
 -0.00 -0.00 +13.00 -0.00 +1.00 -2.00 
 Press return to continue. 
 A : 
 +1.00 +3.00 +3.00 +1.00 +0.00 +0.00 
 +2.00 +8.00 +1.00 +0.00 +1.00 +0.00 
 +1.00 +4.00 -6.00 +0.00 +0.00 +1.00 
 A : inv_mR(invA, T); [see : double inva[R3*C3] ]
 +1.00 +3.00 +3.00 
 +2.00 +8.00 +1.00 
 +1.00 +4.00 -6.00 
 Press return to continue.

Ouverture Bird
Préface.
 Ce livre a comme objectif de fournir au lecteur des connaissances théoriques et des analyses de l'ouverture d'échecs nommée la Bird. Il s'adresse d'abord à des joueurs d'échecs avertis ayant une bonne maîtrise des règles du jeu et qui sont capables de lire correctement des coups en notation algébrique. Il ne sera donc pas expliqué quelque règle que ce soit, comme le roque, la prise en passant, et cætera... Pour cela, veuillez consulter le livre Apprendre les échecs.

Auto-éditer un wikilivre/Annexer (Version internationalisée)/htmlman.sh