Mathc matrices/c12b10
Apparence
Valeurs propres. Vecteurs propres
Je veux calculer les valeurs propres de la matrice M.
- J'utilise la QR décomposition de M
- Puis je calcule RQ
- RQ devient la nouvelle valeur de M
- Et je recommence un cycle.
Je copie M dans T pour ne pas modifier M. Puis j'applique 1000 fois l'algorithme vue plus haut.
c_mR(M,T);
for(i=0;i<1000;i++)
{
QR_mR(T,Q,R);
mul_mR(R,Q,T);
}
À la fin je trouve sur la diagonale de T les valeurs propres.
for(rc=R1;rc<=r;rc++)
{
EValue[rc][C1] = T[rc][rc];
}
/* ------------------------------------ */
/* ------------------------------------ */
double **eigs_mR(
double **A,
double **EValue
)
{
int r = rsize_R(A);
double **T = i_mR(r,r);
double **Q = i_mR(r,r);
double ** = i_mR(r,r);
int i;
int rc;
c_mR(A,T);
for(i=0;i<LOOP_EIGSUV;i++)
{
QR_mR(T,Q,R);
mul_mR(R,Q,T);
}
for(rc=R1;rc<=r;rc++)
{
EValue[rc][C1] = T[rc][rc];
}
f_mR(T);
f_mR(Q);
f_mR(R);
return(EValue);
}
/* ------------------------------------ */
/* ------------------------------------ */