Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Linear Algebra > Linear Equations > linsolve

linsolve

線形方程式ソルバ

呼び出し手順

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

パラメータ

A

a na x ma 実数行列 (疎行列の場合もあり)

b

na x 1ベクトル (Aの行と同じ次元)

x0

実数ベクトル

kerA

ma x k 実数行列

説明

linsolve は, A*x+b=0の解を全て計算します.

x0 は特解 (存在する場合), kerAAのヌル空間です. 任意のwについてx=x0+kerA*wは, A*x+b=0を満たします.

互換性のある x0 がエントリに指定された場合, x0が返されます. そうでない場合,x0と互換性のあるもの(存在する場合)が返されます.

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/examples/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());

参照

  • inv — 逆行列
  • pinv — 擬似逆行列
  • colcomp — 列圧縮,カーネル,ヌル空間
  • im_inv — 原像
  • umfpack — solve sparse linear system
  • backslash — (\) 左行列除算.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:24 CEST 2012