Mathc matrices/c25o
Application ou Pseudo Inverse 
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c01g.c */
/* ------------------------------------ */
void fun(void)
double xy[8] ={
 1, 0,
 2, 3,
 3, 4,
 4, 0 };
double tA[RA*CA]={
/* x**2 y**2 x y e */
 +1.00, +0.00, +0.00, +0.00, +0.00,
 +1.00, +0.00, +1.00, +0.00, +1.00,
 +4.00, +9.00, +2.00, +3.00, +1.00, 
 +9.00, +16.00, +3.00, +4.00, +1.00,
 +16.00, +0.00, +4.00, +0.00, +1.00
double tb[RA*C1]={
/* = 0 */
 +1.00, 
 +0.00, 
 +0.00, 
 +0.00, 
 +0.00, 
double **XY = ca_A_mR(xy,i_mR(RA,C2));
double **A = ca_A_mR(tA,i_mR(RA,CA));
double **b = ca_A_mR(tb,i_mR(RA,C1));
double **Pinv = i_mR(CA,RA); 
double **Pinvb = i_mR(CA,C1); 
 clrscrn();
 printf("\n");
 printf(" Find the coefficients a, b, c, d, e, of the curve \n\n");
 printf(" ax**2 + by**2 + cx + dy + e = 0 \n\n");
 printf(" that passes through these four points.\n\n");
 printf(" x y");
 p_mR(XY,S10,P0,C6);
 stop();
 clrscrn();
 printf(" Using the given points, we obtain this matrix.\n");
 printf(" (a = 1. This is my choice)\n\n"); 
 printf(" A :");
 p_mR(A,S10,P2,C7);
 printf(" b :");
 p_mR(b,S10,P2,C7);
 printf(" Pinv = V * invS_T * U_T ");
 pseudo_Rn_uv_mR(A,Pinv,FACTOR_E); 
 pE_mR(Pinv,S12,P4,C10); 
 stop();
 clrscrn();
 printf(" Solving this system yields a unique\n"
 " least squares solution, namely \n\n"); 
 printf(" x = Pinv * b "); 
 mul_mR(Pinv,b,Pinvb); 
 p_mR(Pinvb,S10,P4,C10);
 printf(" The coefficients a, b, c, d, e, of the curve are : \n\n"
 " %+.2fx**2 %+.2fy**2 %+.2fx %+.2fy %+.2f = 0\n\n"
 ,Pinvb[R1][C1],Pinvb[R2][C1],Pinvb[R3][C1],
 Pinvb[R4][C1],Pinvb[R5][C1]); 
 stop(); 
 f_mR(XY);
 f_mR(b);
 f_mR(A);
 f_mR(Pinv);
 f_mR(Pinvb); 
/* ------------------------------------ */
int main(void)

Exemple de sortie écran :
 Find the coefficients a, b, c, d, e, of the curve 
 ax**2 + by**2 + cx + dy + e = 0 
 that passes through these four points.
 x y
 +1 +0 
 +2 +3 
 +3 +4 
 +4 +0 
 +1 +0 
 Press return to continue. 
 -----------------------------------
 Using the given points, we obtain this matrix.
 (a = 1. This is my choice)
 A :
 +1.00 +0.00 +0.00 +0.00 +0.00 
 +1.00 +0.00 +1.00 +0.00 +1.00 
 +4.00 +9.00 +2.00 +3.00 +1.00 
 +9.00 +16.00 +3.00 +4.00 +1.00 
 +16.00 +0.00 +4.00 +0.00 +1.00 
 b :
 +1.00 
 +0.00 
 +0.00 
 +0.00 
 +0.00 
 Press return to continue. 
 -----------------------------------
 Pinv = V * invS_T * U_T 
 +1.0000 +0.0000 -0.0000 +0.0000 -0.0000 
 -0.1667 +0.1389 -0.3333 +0.2500 -0.0556 
 -5.0000 -0.3333 +0.0000 -0.0000 +0.3333 
 +1.1667 -0.6389 +1.3333 -0.7500 +0.0556 
 +4.0000 +1.3333 -0.0000 +0.0000 -0.3333 
 Press return to continue. 
 -----------------------------------
 Solving this system yields a unique
 least squares solution, namely 
 x = Pinv * b 
 +1.0000 
 -0.1667 
 -5.0000 
 +1.1667 
 +4.0000 
 The coefficients a, b, c, d, e, of the curve are : 
 +1.00x**2 -0.17y**2 -5.00x +1.17y +4.00 = 0
 Press return to continue.

MySQL/mysqldump
codice_1 peut sauvegarder des bases de données MySQL. Son fonctionnement est particulièrement intéressant car elle génère les commandes SQL permettant de re-créer la base de données sur un autre serveur, ou d'exporter les données vers du CSV et du XML.
Backup.
Pour exporter la base de donnée « myBase », on utilise la commande suivante :
Ceci fera l'export dans un fichier « myBase_backup.sql ».
Exemple de dump d'une base :
 mysqldump --user=root --password=mon_mdp ma_base > my_base.sql
Pour dumper toutes les bases :
 mysqldump --user=root --password=mon_mdp --all-databases > all_db.sql
Pour dumper certains enregistrements de certaines tables :
 mysqldump --database ma_base --tables ma_table --where="id in (1, 2, 3)" --user=root --password=mon_mdp > my_query.sql
Sans les données.
Pour ne récupérer que le schéma :
 mysqldump -f --no-data --user=root --password=mon_mdp ma_base > my_base_schema.sql
Au format CSV.
 mysql -e "select * from ma_base.ma_table where id in (1, 2, 3)" --user=root --password=mon_mdp > my_query.csv
Aux formats Oracle, PostgreSQL, Microsoft SQL Server....
L'option codice_2 permet de spécifier à mysqldump le format à utiliser pour être compatible avec les bases de données existantes. Exemple :
 mysqldump --compatible=oracle -u root -p myBase > myBase_backup.sql
Cette option peut prendre les valeurs suivantes : ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options, or no_field_options
Tâche planifiée.
Pour définir le backup automatique d'une base tous les soirs à minuit, sous Linux :
Le fichier décompresser est au format SQL et peut donc être exécuter pour recréer les bases, tables, et insérer les enregistrements.
Restauration.
Pour importer une base de données sauvegardée via mysqldump, on utilise la commande cliente "mysql" et une redirection en entrée :
 # mysql -u root -p myBase < myBase_backup.sql
Préparation.
Pour réinjecter le dump dans d'autres bases, il vaut mieux nettoyer la base de destination.
Vers une base distante.
En utilisant mysqldump et ssh, on peut dupliquer une base de données sur une machine distante :

Mathc matrices/26d
Application
Ide = Pinv * A (Plus de lignes que de colonnes.) :
Ide = A * Pinv (Plus de colonnes que de lignes.) :
Pseudo Inverse = inv(A_TA)*A_T

Mathc matrices/c26d
Application
Méthode des moindres carrés :
Ajustement d'une courbe linéaire aux données.
Ajustement d'une courbe quadratique aux données.
Ajustement d'une courbe cubique aux données.
Ajustement d'une courbe quartique aux données.
L'équation d'un conique :
L'équation d'un cercle :

Mathc matrices/c26e
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : cq4.c */
void fun(void)
double **A = r_Q_mR(i_mR(RA,CA),99);
double **B = r_mR(i_mR(RA,CB),99.);
double **Ab = i_Abr_Ac_bc_mR(RA,CA,CB);
double **b[CB];
double **a[CA];
int c;
 clrscrn();
 printf(" A : Orthonormal");
 p_mR(A,S9,P4,C6);
 printf(" b[C0] b[C1] b[C2] :");
 p_mR(B,S9,P1,C6);
 printf(" Ab :");
 c_A_b_Ab_mR(A,B,Ab);
 p_mR(Ab,S9,P4,C6);
 printf(" gj_TP_mR(Ab) : x[C0] x[C1] x[C2]");
 gj_TP_mR(Ab);
 p_mR(Ab,S9,P4,C6);
 stop();
/* ------------------------------------ */
 for(c=C0; c<CB; c++)
 b[c] = i_mR(RA,C1); 
 c_c_mR(B,(c+C1),b[c],C1); } 
 for(c=C0; c<CA; c++)
 a[c] = i_mR(RA,C1); 
 c_c_mR(A,(c+C1),a[c],C1); } 
/* ------------------------------------ */ 
 clrscrn(); 
 for(c=C0; c<CA; c++)
 printf(" a[%d] :",c); 
 pE_mR(a[c],S12,P4,C6); } 
 stop();
 clrscrn(); 
 for(c=C0; c<CB; c++)
 printf(" b[%d] :",c); 
 p_mR(b[c],S12,P4,C6); } 
 stop();
 clrscrn(); 
 printf(" x[C0] :\n"); 
 for(c=C0; c<CA; c++) 
 printf("%+15.7f <b[C0],a[%d]>\n",dot_uv_R(b[C0],a[c]), c); 
 printf("\n x[C1] :\n"); 
 for(c=C0; c<CA; c++) 
 printf("%+15.7f <b[C1],a[%d]>\n",dot_uv_R(b[C1],a[c]), c); 
 printf("\n x[C2] :\n"); 
 for(c=C0; c<CA; c++) 
 printf("%+15.7f <b[C2],a[%d]>\n",dot_uv_R(b[C2],a[c]), c); 
 printf("\n gj_TP_mR(Ab) :\t\t\t x[C0] x[C1] x[C2]");
 p_mR(Ab,S12,P7,C6); 
/* ------------------------------------ */
 for(c=C0; c<CA; c++) 
 f_mR(a[c]); 
 for(c=C0; c<CB; c++) 
 f_mR(b[c]); 
/* ------------------------------------ */ 
 f_mR(Ab);
 f_mR(B);
 f_mR(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Résoudre un système d'équation quand A est une matrice orthonormale : 
 Ici B est composé de trois vecteurs.