Nom

linsolve — solveur d'équation linéaire

Séquence d'appel

[x0,kerA]=linsolve(A,b [,x0])

Paramètres

A

une matrice réelle na x ma (éventuellement creuse)

b

un vecteur na x 1

x0

un vecteur réel

kerA

une matrice réelle ma x k

Description

linsolve donne toutes les solutions de A*x+b=0.

x0 est une solution particulière (s'il en existe une) et kerA est le noyau de A. Tout vecteur de la forme x=x0+kerA*w avec w quelconque vérifie A*x+b=0.

Si un x0 compatible est donné en entrée, x0 est renvoyé. Dans le cas contraire un x0 compatible, s'il en existe un, est renvoyé.

Exemples

 
A=rand(5,3)*rand(3,8);
b=A*ones(8,1);[x,kerA]=linsolve(A,b);A*x+b   // b compatible
b=ones(5,1);[x,kerA]=linsolve(A,b);A*x+b   // b incompatible
A=rand(5,5);[x,kerA]=linsolve(A,b), -inv(A)*b  // x est unique

// Une comparaison des différentes méthode de résolution de systèmes linéaire creux

[A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/examples/bcsstk24.rsa"); 

b = 0*ones(size(A,1),1);

tic();
res = umfpack(A,'\',b);
printf('\ntemps nécessaire à la résolution du système avec umfpack: %.3f\n',toc());

tic();
res = linsolve(A,b);
printf('\ntemps nécessaire à la résolution du système avec linsolve: %.3f\n',toc());

tic();
res = A\b;
printf('\ntemps nécessaire à la résolution du système avec l'opérateur backslash: %.3f\n',toc());
 

Voir Aussi

inv , pinv , colcomp , im_inv , umfpack , backslash