Scilab Function

backslash (\) - division matricielle à gauche

Calling Sequence

x=A\b

Description

L'anti-slash représente la division matricielle à gauche. x=A\b est une solution de A*x=b .

Si A est carrée et régulière x=A\b (unique) est équivalent mathématiquement à x=inv(A)*b (dont le calcul est par contre beaucoup plus coûteux).

Si A n'est pas carrée, x est une solution au sens des moindres carrés, c'est à dire que norm(A*x-b) est minimale (norme euclidienne). Si A est de rang maximal (colonnes linéairement indépendantes), la solution au sens des moindres carrés, x=A\b , est unique (le vecteur x minimisant norm(A*x-b) est unique). Si A n'est pas de rang maximal, cette solution n'est pas unique, et x=A\b , en général, n'est pas la solution de norme minimale (la solution de norme minimale est x=pinv(A)*b ).

A.\B est la matrice dont le terme (i,j) est égal à A(i,j)\B(i,j) . Si A (ou B ) est un scalaire A.\B est équivalent à A*ones(B).\B (or A.\(B*ones(A))

A\.B est un opérateur dont la signification n'est pas prédéfinie. il peut être utilisé pour définir de nouveaux opérateurs (voir "overloading") avec la même priorité que * ou /.

Examples

A=rand(3,2);b=[1;1;1]; x=A\b; y=pinv(A)*b;  x-y
A=rand(2,3);b=[1;1]; x=A\b; y=pinv(A)*b; x-y, A*x-b, A*y-b
A=rand(3,1)*rand(1,2); b=[1;1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b
A=rand(2,1)*rand(1,3); b=[1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b 
 

See Also

slash ,   inv ,   pinv ,   percent ,   ieee ,