backslash (\)

Scilab Function
Last update : 29/12/2005

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` ,