LinearAlgebra[ScalarMultiply] - 行列またはベクトルとスカラーの積の計算
LinearAlgebra[MatrixScalarMultiply] - 行列とスカラーの積の計算
LinearAlgebra[VectorScalarMultiply] - ベクトルとスカラーの積の計算
使い方
ScalarMultiply(A, s, ip, outopts)
MatrixScalarMultiply(A, s, ip, outopts)
VectorScalarMultiply(A, s, ip, outopts)
パラメータ
A - 行列、ベクトル
s - スカラー
ip - (オプション) BooleanOpt(inplace); 出力が入力を上書きするかどうかを指定
outopts - (オプション) outputoptions=list の形をした等式; 結果として得られるオブジェクトのコンストラクタオプション
|
説明
|
|
•
|
ScalarMultiply(A, s) 関数は、積 A * s を計算します。
|
•
|
A が、n x m 行列で B := ScalarMultiply(A,s) のとき、i=1..n と j=1..m に対して B[i,j]=A[i,j]*s です。
|
|
A が行列のとき、ScalarMultiply(A, s) 関数は、MatrixScalarMultiply(A, s) 関数と同等です。
|
•
|
A が n 次元ベクトルで B := ScalarMultiply(A,s) のとき、i=1..n に対して B[i]=A[i]*s です。
|
|
A がベクトルのとき、 ScalarMultiply(A, s) 関数は、VectorScalarMultiply(A, s) 関数と同等です。
|
•
|
inplace オプション (ip) は結果が返される場所を決めます。inplace=true が与えられれば、結果は最初の引数に上書きされます。 inplace=false が与えられるか、または呼び出し手順に含まれていないときは、結果は新しい行列(あるいはベクトル)として返されます。
|
|
inplace=true という条件は、inplace と略記することができます。
|
|
inplace オプションは、注意して使わなければいけません。なぜなら、演算が失敗すれば元の行列(あるいはベクトル)の引数は壊れててしまうかもしれないからです。
|
•
|
outputoptions オプション (outopts) は、結果を作成する Matrix (あるいは Vector) コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
|
•
|
inplace と outputoptions オプションは両立しません。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、 with(LinearAlgebra) を実行した後にのみ ScalarMultiply(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[ScalarMultiply](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
A := <<sx,0,0>|<0,sy,0>|<0,0,1>>;
|
| (2.1) |
| (2.2) |
>
|
MatrixScalarMultiply( IdentityMatrix(2), a );
|
| (2.3) |
| (2.4) |
>
|
VectorScalarMultiply(v,1/2);
|
| (2.5) |
|
|