Scilab 6.0.0

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.

However, this page did not exist in the previous stable version.

# linsolve

linear equation solver

### Syntax

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

### Arguments

- A
a

`na x ma`

real matrix (possibly sparse)- b
a

`na x 1`

vector (same row dimension as`A`

)- x0
a real vector

- kerA
a

`ma x k`

real matrix

### Description

`linsolve`

computes all the solutions to `A*x+b=0`

.

`x0`

is a particular solution (if any) and `kerA=`

nullspace
of `A`

. Any `x=x0+kerA*w`

with arbitrary `w`

satisfies
`A*x+b=0`

.

If compatible `x0`

is given on entry, `x0`

is returned. If not
a compatible `x0`

, if any, is returned.

### Examples

A=rand(5,3)*rand(3,8); b=A*ones(8,1);[x,kerA]=linsolve(A,b);A*x+b //compatible b b=ones(5,1);[x,kerA]=linsolve(A,b);A*x+b //uncompatible b A=rand(5,5);[x,kerA]=linsolve(A,b), -inv(A)*b //x is unique // Benchmark with other linear sparse solver: [A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/demos/bcsstk24.rsa"); b = zeros(size(A,1),1); tic(); res = umfpack(A,'\',b); mprintf('\ntime needed to solve the system with umfpack: %.3f\n',toc()); tic(); res = linsolve(A,b); mprintf('\ntime needed to solve the system with linsolve: %.3f\n',toc()); tic(); res = A\b; mprintf('\ntime needed to solve the system with the backslash operator: %.3f\n',toc());

## Comments

Add a comment:Please login to comment this page.