Mathc matrices/h18c
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_b.h */
/* ------------------------------------ */ 
/* Basic operation */
/* ------------------------------------ */
 Déclaration des fichiers h.

Mathc matrices/h18d
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_e.h */
/* Determinant */
/* ------------------------------------ */ 
 Déclaration des fichiers h.

Mathc matrices/h18e
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_r.h */
/* Rand */
/* ------------------------------------ */
 Déclaration des fichiers h.

Mathc matrices/c18a
Application 
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00b.c */
/* ------------------------------------ */
void fun(int r,int c)
double **A = rE_mR(i_mR(r,c), 99999, 1E-2);
 clrscrn(); 
 printf(" A :");
 pE_mR(A,S10,P2,C10);

f_mR(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
int i;
do
 i = rp_I(R3)+R1;
 fun(i,i+C1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Afficher une matrice en mode scientifique :

Exemple de sortie écran :
 A :
 +8.93e+02 -4.55e+02 +6.38e+02 -5.19e+02 
 +5.07e+01 +9.60e+02 +7.38e+02 +8.39e+00 
 +1.60e+02 +8.44e+02 +3.79e+02 +7.36e+02 
 Press return to continue
 Press X to stop

Mathc matrices/h18f
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_p.h */
/* Print */
/* ------------------------------------ */
 Déclaration des fichiers h.

Mathc matrices/h15b
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_g.h */
/* ------------------------------------ */ 
/* Gauss jordan */
/* ------------------------------------ */

Mathc matrices/h09z
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(int rc)
double **A = rdiag_mR(i_mR(rc,rc),99);
double **AC1 = i_mR(rc,C1);
 clrscrn();
 printf(" rdiag_mR() : \n\n" 
 " A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
 p_mR(A, S4,P0, C8);
 printf(" AC1[R%d,C%d] :\n",rsize_R(AC1),csize_R(AC1));
 c_D_C1_mR(A,AC1); 
 p_mR(AC1, S4,P0, C8);
 f_mR(A);
 f_mR(AC1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do
 fun(rp_I(RC5));
 while(stop_w()); 
 return 0;
/* ------------------------------------ */
 Copier une matrice diagonale dans une matrice d'une colonne :
 Exemple de sortie écran :
 A[R5,C5] : 
 +22 +0 +0 +0 +0 
 +0 -40 +0 +0 +0 
 +0 +0 -45 +0 +0 
 +0 +0 +0 +32 +0 
 +0 +0 +0 +0 -38 
 AC1[R5,C1] : 
 +22 
 -40 
 -45 
 +32 
 -38 
 Press return to continue
 Press X to stop

Mathc matrices/a19
Bibliothèque
Copier la bibliothèque dans votre répertoire de travail avec les fichiers des parties précédentes :
Dans ce travail il y a deux bugs.
Il y a parfois une inversion des signes sur les vecteurs singuliers par rapport à octave.
Les vecteurs singuliers dépendant d'une valeur singulière nulle ne correspondent pas à ceux d'octave.
Malgré ces problèmes on peut calculer le pseudo inverse d'une matrice, et utiliser la diagonalisation pour calculer l'inverse d'une matrice.
Je pense que les problèmes d'inversions de signes se neutralisent dans les calculs.
Pour les vecteurs singuliers dépendant d'une valeur singulière nulle, les vecteurs calculés par la bibliothèque sont bien orthogonaux aux autres vecteurs et permettent de retrouver la matrice par le calcul. (A = U * S * V_T). Ce ne sont pas les bons vecteurs, mais ils font le travail.
Exemple pour tester la bibliothèque :

Mathc matrices/h11d
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : v_g.h */
/* ------------------------------------ */ 
/* Gauss jordan */
/* ------------------------------------ */

Mathc matrices/h11e
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : vgj2piv.h */
double pivotbest_gj2Ab_mR(
double **Ab,
int pivot_r,
int pivot_c
double pivotbest = fabs(Ab[pivot_r][pivot_c]);
int best_r = pivot_r;
int best_c = pivot_c;
int r;
int c;
 for ( r=pivot_r; r<Ab[R_SIZE ][C0]; r++)
 for ( c=pivot_c; c<Ab[C_SIZE_A][C0]; c++) 
 if(fabs(Ab[r][c])>pivotbest)
 pivotbest = fabs(Ab[r][c]);
 best_r = r;
 best_c = c;
 if(best_r!=pivot_r) swapR_mR(Ab,pivot_r,best_r);
 if(best_c!=pivot_c) swapC_withR0_mR(Ab,pivot_c,best_c);
 return(pivotbest);
/* ------------------------------------ */
void zero_under_pivot_gj2Ab_mR(
double **Ab,
int pivot_r,
int pivot_c
double pivot = Ab[pivot_r][pivot_c];
int r;
 if(fabs(pivot)>ERROR_E)
 mulR_mR( Ab,(1./pivot),pivot_r);
 for( r=(pivot_r+C1); r<Ab[R_SIZE][C0]; r++) 
 addR_mR( Ab,(-Ab[r][pivot_c]),pivot_r,r);
double **zero_below_pivot_gj2Ab_mR(
double **Ab,
int pivot_r,
int pivot_c
int r;
 if(fabs(Ab[pivot_r][pivot_c])>ERROR_E)
 for( r=(pivot_r-C1); r>=R1; r--) 
 addR_mR( Ab,(-Ab[r][pivot_c]),pivot_r,r);
return(Ab);
/* ------------------------------------ */
void zero4_under_all_pivot_mR(
double **Ab
int r= R1;
int c= C1;
 while((r<Ab[R_SIZE][C0]) &&
 (c<Ab[C_SIZE_A][C0])
 {
 if(fabs(pivotbest_gj2Ab_mR(Ab,r,r))>ERROR_E) 
 zero_under_pivot_gj2Ab_mR(Ab,r,r);
 r++;
/* ------------------------------------ */

Le mouvement Wikimédia/Version complète
 __SECTIONNONEDITABLE__ 
Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Erythrodermie

Erythrodermie est un terme utilisé par les cliniciens pour designer une desquamation intense et un érythème sur une surface étendue du corps. Il est important de déterminer la cause, qui le plus souvent peut être un psoriasis, une toxidermie. un mycosis fongoïde. un des eczémas discutes, un pemphigus foliacé, ou être idiopathique. L'histologie depend dans une certaine mesure de la maladie en cause.

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Lichénification

Lichenification et prurigo nodulaire
La lichénification est une plaque quadrillée erythemateuse qui correspond a la peau lichénifiée (épaissie) en raison d'un simple frottement chronique ou d'une irritation. 
Le prurigo nodulaire est le même processus de base mais il s'agit d'un nodule et non d'une plaque. Les deux débutent habituellement par un eczéma, une piqure d'arthropode, une folliculite ou un autre trouble qui amène le patient a se gratter. 
Aspect microscopique
Diagnostic différentiel

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Pityriasis rosé de Gibert

Pinyriasis rosé de Gibert (PRG) 
"Diagnostic différentiel"

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Lichen striatus

Lichen striatus 
Diagnostic différentiel

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Pityriasis alba

Pityriasis alba
Diagnostic différentiel

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Acrodermite papuleuse infantile

Acrodermatite papuleuse infantile (Syndrome de Gianotti-Crosti) 
Diagnostic différentiel

Pathologie cutanée/Maladies cutanées/Maladies inflammatoires cutanées/Psoriasis

Psoriasis
Variantes 
Diagnostic différentiel

Mathc matrices/a20
Application
Copier la bibliothèque dans votre répertoire de travail avec les fichiers des parties précédentes :
Dans ce produit scalaire la matrice A est une matrice diagonale avec des coefficient positif. 
Ils correspondend aux poids que l'on impose à chaque terme du produit scalaire. C'est le produit scalaire standard avec poids.

La QR décomposition ce passe bien. On peut voir dans un exemple (c00l.c) que deux produits scalaires différents sur une même matrice a une décomposition Q R différente.
L'algorithme pour calculer les valeurs propres ne semble pas fonctionner.
Présentation des fonction intermédiaire :