LinearAlgebra[GenerateEquations] - 係数行列から方程式を生成します
使い方
GenerateEquations(A, v, B)
パラメータ
A - m x n 行列
v - リスト; n 個の未知数を指定
B - (オプション) m x 1 ベクトル
|
説明
|
|
•
|
GenerateEquations(A, v) 関数は v に与えられた変数名を用いて、係数行列 A から 1 次方程式の集合を生成します。
|
|
オプションの m x 1 次の右辺のベクトル B が呼び出し手順に含まれていると、1 次方程式のリストは行列方程式 A . x = B と同値です。x[i] は v[i] に等しいとして、この場合、 v がちょうど n 個の未知数を指定しなければなりません。
|
|
オプションの右辺のベクトル B が呼び出し手順に含まれておらず、v がちょうど n 個の未知数を指定しているならば、 m 個の 1 次方程式の右辺は 0 に設定されます。方程式のリストはこのとき、A . x = ZeroVector(m) と同値です。
|
|
オプションの右辺のベクトル B が呼び出し手順に含まれておらず、 v がちょうど n-1 個の未知数を指定しているならば、m 個の 1 次方程式の右辺は行列 A の最後の列から取られます。すなわち、行列 A は拡大行列として扱われます。方程式のリストはこのとき、 A[1..-1,1..-2] . x = A[1..-1,-1] と同値です。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、コマンド with(LinearAlgebra) を実行した後のみ GenerateEquations(..) の形で使うことができます。ただし、コマンドの長い形 LinearAlgebra[GenerateEquations](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
V := Transpose(VandermondeMatrix([1,2,3,4]));
|
| (2.1) |
>
|
GenerateEquations( V, [w,x,y,z], <0,-1,3,35> );
|
| (2.2) |
>
|
UseHardwareFloats := false:
A := <<0.40,0.10,0.50>|<0.20,0.70,0.10>|<0.20,0.20,0.60>>;
|
| (2.3) |
>
|
GenerateEquations( A - 1, [v1, v2, v3] );
|
| (2.4) |
>
|
B := <<a,c>|<b,d>|<1,1>>;
|
| (2.5) |
>
|
GenerateEquations( B, [x,y] );
|
| (2.6) |
|
|