nom, date
ne pas oublier de sauvegarder régulièrement
utiliser preview avant d'imprimer
> with(linalg):
> ma:= matrix(3, 3, [53,61,23,37,-31,34,42,-88,76]);
> charpoly(ma, x); fso:= fsolve(%);
>
Valeur propre dominante
> v0:= [1.,1.,1.];
> evalm(ma &* v0): v1:= evalm(%/norm(%) );
> evalm(ma &* v1): v2:= evalm(%/norm(%) );
> iter:= proc(v1); evalm(ma &* v1): evalm(%/norm(%) ); end;
> (iter@@30)(v0); iter(%); vp1:= norm(evalm(ma &* %));
>
Valeur propre proche de 0
> mb:= evalm(1./ma); iterb:= subs(ma=mb, eval(iter));
> (iterb@@50)(v0); iterb(%); vp3:= 1/ norm(evalm(mb &* %));
>
Valeur propre quelconque
> mc:= evalm(1/(ma-38.)); iterc:= subs(ma=mc, eval(iter));
> (iterc@@5)(v0); iterc(%); vp2:= norm(evalm(mc &* %));
> 38+1/vp2; fso;
>