Mathc matrices/c24g
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
double b[RB*CB]={
 +2, 2, 
 +2, 0, 
 +6, 2 
double u_b[RU*(CU)]={
 +7, 
 -4
double **B = ca_A_mR( b,i_mR(RB, CB));
double **U_b = ca_A_mR(u_b,i_mR(RU, CU));
double **U_s = i_mR(RU+R1,CU) ;
 clrscrn();
 printf(" B is the change of basis matrix for \"B\" \n\n"
 " Find the coordinate of U in the standard basis.\n\n"
 " B : ");
 p_mR(B,S4,P0,C7);
 printf(" U_b : the coordinate of U in the \"B\" basis");
 p_mR(U_b,S4,P0,C7);
 printf(" B*U_b = U_s \n\n"
 " U_s : the coordinate of U in the Standard basis");
 p_mR(mul_mR(B,U_b,U_s),S4,P0,C7);
 stop();
 f_mR(U_s);
 f_mR(U_b);
 f_mR(B);
 return 0;
/* ------------------------------------ */
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

Exemple de sortie écran :
 B is the change of basis matrix for "B" 
 Find the coordinate of U in the standard basis.
 B : 
 +2 +2 
 +2 +0 
 +6 +2 
 U_b : the coordinate of U in the "B" basis
 +7 
 -4 
 B*U_b = U_s 
 U_s : the coordinate of U in the Standard basis
 +6 
 +14 
 +34 
 Press return to continue.

Mathc matrices/c24i
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c01a.c */
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
double b[RB*CB]={
 +2, 4, 
 +6, 2
double u_b[RU*(CU)]={
 +1, 
 +1
double **B = ca_A_mR( b,i_mR(RB,CB));
double **U_b = ca_A_mR(u_b,i_mR(RU,CU));
double **U_s = i_mR(RU,CU) ;
 clrscrn();
 printf(" B is the change of basis matrix for \"B\" \n\n"
 " Find the coordinate of U in the standard basis.\n\n"
 " B : ");
 p_mR(B,S4,P0,C7);
 printf(" U_b : the coordinate of U in the \"B\" basis");
 p_mR(U_b,S4,P0,C7);
 printf(" B*U_b = U_s \n\n"
 " U_s : the coordinate of U in the Standard basis");
 p_mR(mul_mR(B,U_b,U_s),S4,P0,C7);
 stop();
 f_mR(U_s);
 f_mR(U_b);
 f_mR(B);
 return 0;
/* ------------------------------------ */
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

Exemple de sortie écran :
 B is the change of basis matrix for "B" 
 Find the coordinate of U in the standard basis.
 B : 
 +2 +4 
 +6 +2 
 U_b : the coordinate of U in the "B" basis
 +1 
 +1 
 B*U_b = U_s 
 U_s : the coordinate of U in the Standard basis
 +6 
 +8 
 Press return to continue.

Mathc matrices/c24j
Application 
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c01b.c */
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
double b[RB*CB]={
 +2, 4, 
 +6, 2
double u_s[RU*(CU)]={
 +6, 
 +8
double **B = ca_A_mR( b,i_mR(RB,CB));
double **invB = ca_A_mR( b,i_mR(RB,CB));
double **U_s = ca_A_mR(u_s,i_mR(RU,CU));
double **U_b = i_mR(RU,CU) ;
 clrscrn();
 printf(" B is the change of basis matrix for \"B\" \n\n"
 " Find the coordinate of U in the \"B\" basis.\n\n"
 " B : ");
 p_mR(B,S4,P0,C7);
 printf(" U_s : the coordinate of U in the Standard basis");
 p_mR(U_s,S4,P0,C7);
 printf(" invB : ");
 p_mR(inv_mR(B,invB),S6,P4,C7);
 printf(" invB*U_s = U_b \n\n"
 " U_b : the coordinate of U in the \"B\" basis");
 p_mR(mul_mR(invB,U_s,U_b),S6,P4,C7);
 stop();
 f_mR(U_s);
 f_mR(U_b);
 f_mR(B);
 return 0;
/* ------------------------------------ */
Matrice de passage inversible :
 Soit B la matrice de changement de base de B 
 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

Exemple de sortie écran :
 B is the change of basis matrix for "B" 
 Find the coordinate of U in the "B" basis.
 B : 
 +2 +4 
 +6 +2 
 U_s : the coordinate of U in the Standard basis
 +6 
 +8 
 invB : 
-0.1000 +0.2000 
+0.3000 -0.1000 
 invB*U_s = U_b 
 U_b : the coordinate of U in the "B" basis
+1.0000 
+1.0000 
 Press return to continue.

Mathc matrices/c24h
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
double bu_s[RB*(CB+CU)]={
 +2, 2, 6,
 +2, 0, 14,
 +6, 2, 34, 
double **Bu_s = ca_A_mR(bu_s,i_Abr_Ac_bc_mR(RB,CB,CU));
double **B = c_Ab_A_mR(Bu_s,i_mR(RB,CB));
double **U_s = c_Ab_b_mR(Bu_s,i_mR(RB,CU));
 clrscrn();
 printf(" B is the change of basis matrix for \"B\" \n\n"
 " Find the coordinate of U in the \"B\" basis.\n\n"
 " B : ");
 p_mR(B,S6,P0,C7);
 printf( " U_s : the coordinate of U in the Standard basis");
 p_mR(U_s,S6,P2,C7);
 stop();
 clrscrn();
 printf(" Bu_s :");
 p_mR(Bu_s,S6,P2,C7);
// stop();
// clrscrn();
// printf(" Copy/Past into the octave window.\n\n");
// p_Octave_mR(Bu_s,"Ab",P0);
// printf("\n rref(Ab.00000000001)\n\n");
 printf(" Bu_s : gj_PP_mR(Ab,YES) :");
 gj_PP_mR(Bu_s,YES);
 p_mR(Bu_s,S6,P2,C7);
 stop();
 clrscrn();
 printf(" Bu_s : gj_PP_mR(Ab,YES) :");
 p_mR(Bu_s,S6,P2,C7);
 printf( " U_s : the coordinate of U in the Standard basis");
 p_mR(U_s,S6,P2,C7);
 printf(" U_b : the coordinate of U in the \"B\" basis\n"
 " %+.2f\n %+.2f\n\n", Bu_s[R1][C3],Bu_s[R2][C3]);
 stop();
 f_mR(Bu_s);
 f_mR(U_s);
 f_mR(B);
 return 0;
/* ------------------------------------ */
Matrice de passage inversible :
 Soit B la matrice de changement de base de B
 Trouver les coordonnées de U dans la base B : 
 B * U_b = U_s A*x = b
 B|U_s A|b

Exemple de sortie écran :
 B is the change of basis matrix for "B" 
 Find the coordinate of U in the "B" basis.
 B : 
 +2 +2 
 +2 +0 
 +6 +2 
 U_s : the coordinate of U in the Standard basis
 +6.00 
+14.00 
+34.00 
 Press return to continue. 
 ------------------------------------ 
 Bu_s :
 +2.00 +2.00 +6.00 
 +2.00 +0.00 +14.00 
 +6.00 +2.00 +34.00 
 Bu_s : gj_PP_mR(Ab,YES) :
 +1.00 +0.00 +7.00 
 +0.00 +1.00 -4.00 
 +0.00 +0.00 +0.00 
 Press return to continue. 
 ------------------------------------ 
 Bu_s : gj_PP_mR(Ab,YES) :
 +1.00 +0.00 +7.00 
 +0.00 +1.00 -4.00 
 +0.00 +0.00 +0.00 
 U_s : the coordinate of U in the Standard basis
 +6.00 
+14.00 
+34.00 
 U_b : the coordinate of U in the "B" basis
 +7.00
 -4.00
 Press return to continue.

Mathc matrices/c24k
Application
Vous trouverez une aide théorique dans le cours de khanacademy :
[Leçon 3: Changement de base] .
 Soit T(x) = A*[x] une application linéaire par rapport à la base canonique.

Soit B la matrice de changement de base de la base "B" :
 Nous savons que 
 1) [x]_b = InvB* [x] 
 2) [x] = B* [x]_b 
 Soit 
 [T(x)]_b = D [x]_b l'application linéaire par rapport à la base B.

Etudions le lien entre la matrice A et la matrice D.
 Posons :
 [T(x)]_b = [A*x]_b = InvB*[A*x] = (InvB*A)* [x] = (InvB*A)* (B*[x]_b) 
 1) 2) 3)
 1) T(x) = A*x 
 2) [x]_b = InvB* [x] -> [A*x]_b = InvB* [A*x]
 3) [x] = B* [x]_b -> [x] = (B* [x]_b)

3)
 [T(x)]_b = InvB * A * B * [x]_b = (InvB*A*B) * [x]_b
 [T(x)]_b = D * [x]_b l'application linéaire par rapport à la base B.
 = (InvB*A*B) * [x]_b 
 D = InvB*A*B

Exemples d'applications dans R2 :
Exemples d'applications dans R3 :
Exemples d'applications dans R4 :