Exemple de sortie écran :
 B is a basis for the orthogonal complement of A : 
 Find a transformation matrix for 
 a projection onto R4 : 
 Proj(x) = [Id-(B*inv(BT*B)*BT)] * x 
 B :
+0.0000 -2.0000 
+0.0000 -1.6667 
+1.0000 +0.0000 
+0.0000 +1.0000 
 Press return to continue. 
 ------------------------------------ 
 BT :
+0.0000 +0.0000 +1.0000 +0.0000 
-2.0000 -1.6667 +0.0000 +1.0000 
 BTB :
+1.0000 +0.0000 
+0.0000 +7.7778 
 inv(BT*B) :
+1.0000 -0.0000 
-0.0000 +0.1286 
 inv(BT*B)*BT :
+0.0000 +0.0000 +1.0000 +0.0000 
-0.2571 -0.2143 +0.0000 +0.1286 
 B*inv(BT*B)*BT :
+0.5143 +0.4286 +0.0000 -0.2571 
+0.4286 +0.3571 +0.0000 -0.2143 
+0.0000 +0.0000 +1.0000 +0.0000 
-0.2571 -0.2143 +0.0000 +0.1286 
 V = Id - (B*inv(BT*B)*BT) :
+0.4857 -0.4286 +0.0000 +0.2571 
-0.4286 +0.6429 +0.0000 +0.2143 
+0.0000 +0.0000 +0.0000 +0.0000 
+0.2571 +0.2143 +0.0000 +0.8714 
 Press return to continue. 
 ------------------------------------ 
 V is transformation matrix for 
 a projection onto a subspace R4 :
+0.4857 -0.4286 +0.0000 +0.2571 
-0.4286 +0.6429 +0.0000 +0.2143 
+0.0000 +0.0000 +0.0000 +0.0000 
+0.2571 +0.2143 +0.0000 +0.8714 
 Proj(x) = [Id-(B*inv(BT*B)*BT)] * x 
 Proj(x) = V * x :
-2.1143 
+1.0714 
+0.0000 
-2.4429 
 Press return to continue.

Mathc matrices/c24e
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c05d.c */
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
double b[RB*(CB)]={
 +0.000000000000, -2.000000000000, -0.500000000000, 
 +0.000000000000, -1.666666666667, +0.000000000000, 
 +1.000000000000, +0.000000000000, +0.000000000000, 
 +0.000000000000, +1.000000000000, +0.000000000000, 
 +0.000000000000, +0.000000000000, +1.000000000000 
double x[RB*(C1)]={
 -1, 
 2, 
 -3,
 -3,
 -1,
double **B = ca_A_mR(b,i_mR(RB,CB));
double **BT = i_mR(CB,RB);
double **BTB = i_mR(CB,CB); // BT*B
double **invBTB = i_mR(CB,CB); // inv(BT*B)
double **invBTB_BT = i_mR(CB,RB); // inv(BT*B)*BT
double **B_invBTB_BT = i_mR(RB,RB); // B_inv(BT*B)*BT
double **Id = eye_mR(i_mR(RB,RB));
double **V = i_mR(RB,RB); // V = Id - (B_inv(BT*B)*BT)
double **X = ca_A_mR(x, i_mR(RB,C1));
double **X_T = transpose_mR(X,i_mR(C1,RB));
double **VX = i_mR(RB,C1);
 clrscrn();
 printf(" B is a basis for the orthogonal complement of A : \n\n"
 " Find a transformation matrix for \n"
 " a projection onto R%d : \n\n"
 " Proj(x) = [Id-(B*inv(BT*B)*BT)] * x \n\n",RB);
 printf(" B :");
 p_mR(B,S5,P4,C7);
 stop();
 clrscrn();
 printf(" BT :");
 p_mR(transpose_mR(B,BT),S5,P4,C7);
 printf(" BTB :");
 p_mR(mul_mR(BT,B,BTB),S5,P4,C7);
 printf(" inv(BT*B) :");
 p_mR(inv_mR(BTB,invBTB),S5,P4,C7); 
 stop();
 clrscrn(); 
 printf(" inv(BT*B)*BT :");
 p_mR(mul_mR(invBTB,BT,invBTB_BT),S5,P4,C7); 
 printf(" B*inv(BT*B)*BT :");
 p_mR(mul_mR(B,invBTB_BT,B_invBTB_BT),S5,P4,C7); 
 printf(" V = Id - (B*inv(BT*B)*BT) :");
 p_mR(sub_mR(Id,B_invBTB_BT,V),S5,P4,C7); 
 stop(); 
 clrscrn();
 printf(" V is transformation matrix for \n"
 " a projection onto a subspace R%d :\n\n",RB);
 p_mR(V,S5,P4,C7); 
 printf(" X_T :");
 p_mR(X_T,S5,P4,C7);
 printf(" Proj(x) = [Id-(B*inv(BT*B)*BT)] * x \n\n"); 
 printf(" Proj(x) = V * x :"); 
 p_mR(mul_mR(V,X,VX),S5,P4,C7); 
 stop(); 
 f_mR(B);
 f_mR(BT);
 f_mR(BTB); // BT*B
 f_mR(invBTB); // inv(BT*B)
 f_mR(invBTB_BT); // inv(BT*B)*BT
 f_mR(V); // B*inv(BT*B)*BT 
 f_mR(X); 
 f_mR(VX); 
 return 0;
/* ------------------------------------ */
Trouver une projection sur un sous-espace vectoriel par une application linéaire :
 Proj(x) = V * x
 V = Id - (B * inv(BT*B) * BT) .

Exemple de sortie écran :
 B is a basis for the orthogonal complement of A : 
 Find a transformation matrix for 
 a projection onto R5 : 
 Proj(x) = [Id-(B*inv(BT*B)*BT)] * x 
 B :
+0.0000 -2.0000 -0.5000 
+0.0000 -1.6667 +0.0000 
+1.0000 +0.0000 +0.0000 
+0.0000 +1.0000 +0.0000 
+0.0000 +0.0000 +1.0000 
 Press return to continue. 
 BT :
+0.0000 +0.0000 +1.0000 +0.0000 +0.0000 
-2.0000 -1.6667 +0.0000 +1.0000 +0.0000 
-0.5000 +0.0000 +0.0000 +0.0000 +1.0000 
 BTB :
+1.0000 +0.0000 +0.0000 
+0.0000 +7.7778 +1.0000 
+0.0000 +1.0000 +1.2500 
 inv(BT*B) :
+1.0000 -0.0000 -0.0000 
-0.0000 +0.1433 -0.1146 
-0.0000 -0.1146 +0.8917 
 Press return to continue. 
 inv(BT*B)*BT :
+0.0000 +0.0000 +1.0000 +0.0000 +0.0000 
-0.2293 -0.2389 +0.0000 +0.1433 -0.1146 
-0.2166 +0.1911 +0.0000 -0.1146 +0.8917 
 B*inv(BT*B)*BT :
+0.5669 +0.3822 +0.0000 -0.2293 -0.2166 
+0.3822 +0.3981 +0.0000 -0.2389 +0.1911 
+0.0000 +0.0000 +1.0000 +0.0000 +0.0000 
-0.2293 -0.2389 +0.0000 +0.1433 -0.1146 
-0.2166 +0.1911 +0.0000 -0.1146 +0.8917 
 V = Id - (B*inv(BT*B)*BT) :
+0.4331 -0.3822 +0.0000 +0.2293 +0.2166 
-0.3822 +0.6019 +0.0000 +0.2389 -0.1911 
+0.0000 +0.0000 +0.0000 +0.0000 +0.0000 
+0.2293 +0.2389 +0.0000 +0.8567 +0.1146 
+0.2166 -0.1911 +0.0000 +0.1146 +0.1083 
 Press return to continue. 
 V is transformation matrix for 
 a projection onto a subspace R5 :
+0.4331 -0.3822 +0.0000 +0.2293 +0.2166 
-0.3822 +0.6019 +0.0000 +0.2389 -0.1911 
+0.0000 +0.0000 +0.0000 +0.0000 +0.0000 
+0.2293 +0.2389 +0.0000 +0.8567 +0.1146 
+0.2166 -0.1911 +0.0000 +0.1146 +0.1083 
 X_T :
-1.0000 +2.0000 -3.0000 -3.0000 -1.0000 
 Proj(x) = [Id-(B*inv(BT*B)*BT)] * x 
 Proj(x) = V * x :
-2.1019 
+1.0605 
+0.0000 
-2.4363 
-1.0510 
 Press return to continue.

La Reliure d'Art/Les Différentes étapes de la réalisation/La Couture

La couture est essentielle. C'est ce qui va permettre que le livre se tienne tout au long de la suite du processus. Elle doit en outre être bien faite sinon, les opérations précédentes (préparation, calage, équerrage) sont ruinées !
Il y a plein de tutos sur internet, mais ils sont rarement complets (un peu comme quand on donne une recette de cuisine en omettant un ingrédient pour faire accroire ensuite qu'on sait mieux faire que l'autre !).
Pour une couture ficelle, il y a notamment 6 manipulations de ficelle à connaître :
Voilà, avec ça et quelques tutos vous pouvez essayer. Mon conseil : pour faire quelque chose d'à peu près de propre, il faut au moins faire 10 livres et se faire accompagner d'un (bon) prof. 
La plupart des relieurs amateurs ne sont pas autonomes, il ne savent pas faire les étapes 2 et 5.
En plus, beaucoup ont de toute façon besoin d'un prof pour choisir l'épaisseur du fil.
Pourquoi doit-on faire un changement de fil et ne pas prendre toute la longueur directement :

La Reliure d'Art/Les Différentes étapes de la réalisation/Dorure

La dorure est un métier spécifique, qui ne fait pas partie de la reliure à proprement parler.

Mathc matrices/c24f
Application
Vous trouverez une aide théorique dans le cours de khanacademy :
[Leçon 3: Changement de base] .
Matrice de passage non inversible :
 Soit B la matrice de changement de base de B
 Trouver les coordonnées de U dans la base standard : 
 B * U_b = U_s
 Trouver les coordonnées de U dans la base B : 
 B * U_b = U_s A*x = b
 B|U_s A|b
Exemples d'applications :
Matrice de passage inversible :
 Soit B la matrice de changement de base de B
 Trouver les coordonnées de U dans la base standard : 
 B * U_b = U_s
 Trouver les coordonnées de U dans la base B : 
 B * U_b = U_s 
 invB B * U_b = invB U_s
 U_b = invB U_s 
Exemples d'applications :