LinearAlgebra[IsSimilar] - 2 つの行列が相似であるかを判定
使い方
IsSimilar(A, B, out, outopts)
パラメータ
A - 正方行列
B - 正方行列
out - (オプション) output = obj の形をした等式で obj は 'query' か 'C' のいずれか、またはこれらの名前のいくつかを含むリスト; 計算する結果オブジェクトを選択
outopts - (オプション) outputoptions['C'] = list の形をした等式; 変換行列 'C' のコンストラクタオプション
|
説明
|
|
•
|
IsSimilar(A, B) 関数は A と B が相似ならば true を返します。
|
|
2 つの行列 A と B は C . A = B . C を満たす行列 C が存在するとき相似であるといいます。
|
|
これら行列のいずれかが浮動小数点の要素を持っていれば、はじめに有理数に変換されます。
|
•
|
呼び出し手順の中に out が含まれていれば、指定されたオブジェクトだけが式列の形で返されます。返されたオブジェクトとして、 query へのブール応答と相似変換行列のどちらかまたは両方がありえます。両方のオブジェクトが要求されると、 output リストに指定された順序で返されます。
|
|
A と B が相似でなく行列 C が要求されているとき、返された行列 C は A と B に対する相似変換行列にはなりません。
|
•
|
outputoptions['C'] オプション (outopts) は結果を作成する Matrix コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
IsSimilar( <<2,0>|<I,-2>>, <<1,I>|<0,-1>> );
|
| (2.1) |
>
|
A := DiagonalMatrix([5,12,13]);
|
| (2.2) |
>
|
B := <<5,0,0>|<3,12,0>|<4,-4,13>>;
|
| (2.3) |
>
|
(q, P) := IsSimilar(A, B, output=['query', 'C']);
|
| (2.4) |
| (2.5) |
|
|