LinearSolve
LinearSolve[m,b]
行列方程式 m.x==b を解くx を求める.
LinearSolve[m]
異なる b に繰り返し適用できるLinearSolveFunction[…]を生成する.
LinearSolve[a,b]
配列方程式 a.x==b を解く x を求める.
詳細とオプション
- LinearSolveは,数値行列,記号行列,SparseArrayオブジェクトに使うことができる.
- 引数 b はベクトルか行列のどちらかである. »
- 行列 m は正方行列か矩形行列のどちらかである. »
- LinearSolve[m]とLinearSolveFunction[…]は,同じ数値近似線形系を何度も解く効率的な方法を提供する.
- LinearSolve[m,b]はLinearSolve[m][b]と等価である.
- 劣決定系において,LinearSolveは可能な解の1つを返す.Solveは一般解を返す. »
- n1×…×nk×m 配列 a と n1×…×nk×d1×…×dl 配列 b について,LinearSolve[a,b]は a.xb となるような m×d1×…×dl 配列 x を与える.
- LinearSolveのオプションと設定値
-
Method Automatic 使用するメソッド Modulus 0 n を法として解くかどうか ZeroTest Automatic いつ式がゼロであるかを判断する検定 - ZeroTestオプションは,厳密行列および記号行列のみに使うことができる.
- Method->Automaticのとき,メソッドは入力に従って自動的に選択される.
- 厳密行列および記号行列についての明示的なMethod設定
-
"CofactorExpansion" Laplace余因子展開 "DivisionFreeRowReduction" 除算なし掃出し法のBareissメソッド "OneStepRowReduction" 標準的な掃出し法 - 近似数値行列についての明示的なMethod設定
-
"Banded" 帯行列ソルバ "Cholesky" 正定値エルミート行列についてのCholesky法 "Krylov" 反復Krylov疎ソルバ "Multifrontal" 直接疎LU分解 "Pardiso" PARDISO(並列直接法疎)ソルバ
例題
すべて開くすべて閉じるスコープ (16)
基本的な用法 (9)
CenteredInterval行列について を解く:
m と b のランダムな代表の mrep と brep を求める:
sol がLinearSolve[mrep,brep]を含むことを確認する:
の右辺 が与えられていない場合はLinearSolveFunctionが返される:
特殊行列 (6)
オプション (7)
Method (6)
"Krylov" (2)
"Krylov"メソッドでは,次のサブオプションを指定することができる:
"BasisSize" | Krylov基底の大きさ(GMRESのみ) | |
"MaxIterations" | 反復の最大数 | |
"Method" | 使用するメソッド | |
"Preconditioner" | どの前提条件子を適用するか | |
"PreconditionerSide" | 前提条件子をどのように適用するか("Left"または"Right") | |
"ResidualNormFunction" | 解の残差のノルムを計算するノルム関数 | |
"StartingVector" | 反復を始めるための初期ベクトル | |
"Tolerance" | 反復の終了に使用される許容度 |
"BiCGSTAB" | 任意の正方行列のための反復法 | |
"ConjugateGradient" | 正定値エルミート行列のための反復法 | |
"GMRES" | 任意の正方行列のための反復法 |
"ILU0" | 充填なしのもとの行列の不完全LU因子分解に基づいた前提条件子 | |
"ILUT" | 充填ありのILU0の異形 | |
"ILUTP" | 列の置換があるILUTの異形 |
"Preconditioner"の使用可能なサブオプション:
"FillIn" | ILUT事前調整期によって導入された行中の追加的な非零要素の数の上界 | |
"PermutationTolerance" | 列をいつ置換するか | |
"Tolerance" | 許容度を落とす(許容度未満の大きさの要素は0として扱われる) |
アプリケーション (11)
スパンと線形独立 (3)
方程式の解法と可逆性 (6)
LinearSolveを使って解を求める:
NullSpaceを使って解が一意であることを示す:
SolveValuesを使って解を確かめる:
LinearSolveは特殊解を与える:
NullSpaceは同次方程式 の解の基底を与える:
Inverseを使って結果を確かめる:
Detを使って結果を確認する:
Inverseを使って結果を確かめる:
LinearSolveFunctionを計算することで の値を変えて系 を解く:
LinearSolveFunctionの方がはるかに高速ではあるが,結果は事実上同一である:
微積分 (2)
特性と関係 (9)
可逆行列 について,LinearSolve[m,b]は対応する方程式系についてはSolveValuesと同じ結果を与える:
SolveValuesが同じ結果を与えることを確認する:
LinearSolveは同次方程式 に対して常に自明な解 を返す:
が特異な場合は,NullSpaceを使って解の完全な張る(スパニング)集合を得る:
SolveValuesの結果と比較する:
が非特異で が恒等行列である場合は, の解 は の逆数である:
LeastSquaresを使ってを最小にする:
が可解なら,LeastSquaresはLinearSolveに等しい:
正方行列について,LinearSolve[m,b]はDet[m]!=0のときかつそのときに限って一般的な b についての解を持つ:
正方行列について,LinearSolve[m,b]は m の階数が最大のときかつそのときに限って一般的な b についての解を持つ:
正方行列について,LinearSolve[m,b]は m が逆行列を持つときかつそのときに限って一般的な b についての解を持つ:
正方行列について,LinearSolve[m,b]は m が自明な零空間を持つときかつそのときに限って一般的な b についての解を持つ:
考えられる問題 (3)
Solveによって求まったすべての解:
LinearSolveは に対応する解を与える:
使用可能な線形ソルバの中には決定論的ではないものがある.方程式系を設定する:
Automaticソルバメソッドは決定論的である:
テキスト
Wolfram Research (1988), LinearSolve, Wolfram言語関数, https://reference.wolfram.com/language/ref/LinearSolve.html (2024年に更新).
CMS
Wolfram Language. 1988. "LinearSolve." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/LinearSolve.html.
APA
Wolfram Language. (1988). LinearSolve. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LinearSolve.html