Mathc matrices/01f
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define RC RC6
/* ------------------------------------ */
int main(void)
{
/* Toeplitz Matrix
V
U 1 5 6 7
2
3
4
*/
double u1[R1*RC]={ 1,2,3,4,5,6};
double v1[RC*C1]={ 1,
6,
5,
4,
3,
2};
double u2[R1*RC]={ 7,5,6,8,9,4};
double v2[RC*C1]={ 7,
4,
9,
8,
6,
5};
double **V1 = ca_A_mR(v1,i_mR(RC,C1));
double **U1 = ca_A_mR(u1,i_mR(R1,RC));
double **A1 = i_mR(RC,RC);
double **V2 = ca_A_mR(v2,i_mR(RC,C1));
double **U2 = ca_A_mR(u2,i_mR(R1,RC));
double **A2 = i_mR(RC,RC);
double **A1A2 = i_mR(RC,RC);
rToeplitz_mR(U1,V1,A1);
rToeplitz_mR(U2,V2,A2);
clrscrn();
printf(" A1 : \n");
p_mR(A1,S4,P0,C10);
printf(" A2 : \n");
p_mR(A2,S4,P0,C10);
stop();
clrscrn();
printf(" A1A2 : ");
p_mR(mul_mR(A1,A2,A1A2),S8,P0,C6);
printf(" A2A1 : ");
p_mR(mul_mR(A2,A1,A1A2),S8,P0,C6);
stop();
f_mR(U2);
f_mR(V2);
f_mR(U1);
f_mR(V1);
f_mR(A1);
f_mR(A2);
f_mR(A1A2);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
En algèbre linéaire, une matrice circulante est une matrice carrée dans laquelle on passe d'une ligne à la suivante par permutation circulaire (décalage vers la droite) des coefficients. Une matrice circulante constitue un cas particulier de matrice de Toeplitz.
Ainsi la somme, le produit de matrices circulantes sont circulantes, et un tel produit est commutatif. Wikipedia
Exemple de sortie écran :
A1 :
+1 +2 +3 +4 +5 +6
+6 +1 +2 +3 +4 +5
+5 +6 +1 +2 +3 +4
+4 +5 +6 +1 +2 +3
+3 +4 +5 +6 +1 +2
+2 +3 +4 +5 +6 +1
A2 :
+7 +5 +6 +8 +9 +4
+4 +7 +5 +6 +8 +9
+9 +4 +7 +5 +6 +8
+8 +9 +4 +7 +5 +6
+6 +8 +9 +4 +7 +5
+5 +6 +8 +9 +4 +7
Press return to continue.
A1A2 :
+134 +143 +146 +137 +122 +137
+137 +134 +143 +146 +137 +122
+122 +137 +134 +143 +146 +137
+137 +122 +137 +134 +143 +146
+146 +137 +122 +137 +134 +143
+143 +146 +137 +122 +137 +134
A2A1 :
+134 +143 +146 +137 +122 +137
+137 +134 +143 +146 +137 +122
+122 +137 +134 +143 +146 +137
+137 +122 +137 +134 +143 +146
+146 +137 +122 +137 +134 +143
+143 +146 +137 +122 +137 +134
Press return to continue.