LinearAlgebra[Transpose] - 行列、ベクトル、スカラーの転置の計算
LinearAlgebra[HermitianTranspose] - 行列、ベクトル、スカラーのエルミート (共役) 転置の計算
使い方
Transpose(A, ip, outopts)
HermitianTranspose(A, ip, outopts)
パラメータ
A - 行列、ベクトル、スカラー
ip - (オプション) BooleanOpt(inplace); 出力が入力を上書きするかどうかを指定
outopts - (オプション) outputoptions=list の形をした等式; 結果として得られるオブジェクトのコンストラクタオプション
|
説明
|
|
•
|
Transpose(A) 関数は、A の転置を計算します。
|
|
T := Transpose(A) ならば、以下の条件のいずれかが成り立ちます。
|
|
- A が行列ならば、T は T[i, j] = A[j, i] となる行列です。
|
|
- A がベクトルならば、T は A と同じ要素を含むベクトルで A と方向が変わります。
|
•
|
HermitianTranspose(A) 関数は、A の を計算します。
|
|
H := HermitianTranspose(A) ならば、以下のいずれかの条件が成り立ちます。
|
|
- A が行列ならば、H は H[i, j] = conjugate(A[j, i]) となる行列です。
|
|
- A がベクトルならば、H は A の共役要素を含むベクトルで A と方向が変わります。
|
|
- A がスカラー値ならば、H = conjugate(A) です。
|
•
|
inplace オプション (ip) は結果が返される場所を決めます。inplace=true が与えられれば、結果は最初の引数に上書きされます。inplace=false が与えられるか、または呼び出し手順に含まれていないときは、結果は新しい行列(あるいはベクトル)として返されます。
|
|
inplace=true という条件は、inplace と略記することができます。
|
|
inplace オプションは、注意して使わなければいけません。なぜなら、演算が失敗すれば元の行列(あるいはベクトル)の引数は壊れてしまうかもしれないからです。
|
|
注意: この関数に対して、inplace オプションはベクトルあるいは正方行列の入力に対してのみ有効です。
|
•
|
outputoptions オプション (outopts) は、結果を作成する Matrix (あるいは Vector) コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
|
•
|
inplace と outputoptions オプションは両立しません。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、with(LinearAlgebra) を実行した後にのみ Transpose(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[Transpose](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
A := <<1,5,w>|<2,6,x>|<3,7,y>|<4,8,z>>;
|
| (2.1) |
| (2.2) |
| (2.3) |
>
|
HermitianTranspose(V, inplace=true):
V;
|
| (2.4) |
| (2.5) |
|
|