LinearAlgebra[Equal] - 2 つのベクトルまたは 2 つの行列が等しいかどうか比較
使い方
Equal(A, B, c)
パラメータ
A - 行列またはベクトル
B - 行列またはベクトル
c - (オプション) compare=method の形の等式で method は 'entries', 'structure', 'all' のうちのいずれか1つ; 行う比較の種類
|
説明
|
|
•
|
Equal(..) をどのように使う場合でも、A と B は同じ型 (両方とも行列または両方ともベクトル) でなければいけません。そうでなければ、Equal(..) は false を返します。
|
•
|
Equal(A, B) 関数は、A と B が同じ型で、同じ dimension を持ち、成分毎に等しい data を持つとき true を返します。特に、 A と B がベクトルならば、これらは同じ向きも持たなければなりません。
|
|
compare='entries' はデフォルトの比較方法なので、Equal(A, B) と Equal(A, B, compare='entries') は同じことです。
|
•
|
行列に対して、Equal(A, B, compare='structure') 関数は A と B が同じ dimension, datatype, shape, storage, attributes, order を持てば true を返します。
|
|
ベクトルに対して、Equal(A, B, compare='structure') 関数は、A と B が同じ dimension, datatype, shape, storage, attributes, orientation を持てば true を返します。
|
|
compare='structure' の方法は比較の際に行列やベクトルの成分の値は考慮されません。
|
•
|
Equal(A, B, compare='all') 関数は compare='entries' と compare='structure' の論理上の AND と同等のものです。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、コマンド with(LinearAlgebra) を実行した後にのみ Equal(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[Equal](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
R := Vector[row]([1/2,3/2,-1/5,3/5],datatype=rational);
|
| (2.1) |
>
|
F := Vector[row]([0.5,1.5,-0.2,0.6],datatype=sfloat);
|
| (2.2) |
| (2.3) |
>
|
Equal(R,F,compare=all);
|
| (2.4) |
| (2.5) |
>
|
Equal(S, ScalarMatrix(2,2), compare=structure);
|
| (2.6) |
>
|
Equal(S, ScalarMatrix(2,2), compare=entries);
|
| (2.7) |
|
|