LinearAlgebra[RowOperation] - 行列に行基本操作を行う
LinearAlgebra[ColumnOperation] - 行列に列基本操作を行う
使い方
RowOperation(A, K, s, ip, outopts)
ColumnOperation(A, K, s, ip, outopts)
パラメータ
A - 行列
K - 整数か 2 つの整数のリスト
s - (オプション) 代数式
ip - (オプション) BooleanOpt(inplace); 出力が入力を上書きするかどうかを指定
outopts - (オプション) outputoptions=list の形をした等式; 結果として得られるオブジェクトのコンストラクタオプション
|
説明
|
|
•
|
以下の行 (列) 基本操作は、この関数を使って実行することができます。行われる特定の操作は、呼び出し手順で使われるパラメータによって決定されます。
|
|
2 つの整数のリスト K に対して、RoOperation(A, K) (ColumnOperation(A, K)) 関数は、K 内の整数に対応する行 (列) ベクトルが交換されることを除いて A と同じ成分を持つような行列を返します。
|
|
K を整数として RowOperation(A, K, s) (ColumnOperation(A, K, s)) 関数は、K 番目の行 (列) に s が掛けられることを除いて A と同じ成分を持つような行列を返します。
|
|
行列内のある行 (列) の倍数を他の行 (列) に加える
|
|
K は 2 つの整数 i1 と i2 のリストとして、RowOperation(A, K, s) 関数は、行 i1 が Row(A, i1) + s*Row(A, i2) によって置き換えられることを除いて A と同じ成分を持つような行列を返します。
|
|
同様に、 ColumnOperation(A, K, s) は、列 i1 が Column(A, i1) + s*Column(A, i2) によって置き換えられることを除いて A と同じ成分を持つような行列を返します。
|
•
|
inplace オプション (ip) は結果が返される場所を決めます。inplace=true が与えられれば、結果は最初の引数に上書きされます。 inplace=false が与えられるか、または呼び出し手順に含まれていないときは、結果は新しい行列 (あるいはベクトル) として返されます。
|
|
inplace=true という条件は、inplace と略記することができます。
|
|
inplace オプションは、注意して使わなければいけません。なぜなら、演算が失敗すれば元の行列 (あるいはベクトル) の引数は壊れてしまうかもしれないからです。
|
•
|
outputoptions オプション (outopts) は、結果を作成する Matrix コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
|
•
|
inplace と outputoptions オプションは両立しません。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、with(LinearAlgebra) を実行した後にのみ RowOperation(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[RowOperation](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
A := <<1,2,3>|<4,5,6>|<7,8,9>>;
|
| (2.1) |
| (2.2) |
>
|
ColumnOperation(A, [1,3], inplace=true);
|
| (2.3) |
>
|
RowOperation(A, [1,-2], 2);
|
| (2.4) |
|
|