Error, (in rtable/Product) invalid arguments (エラー、(rtable/Product における)無効な引数です)
|
モデルの説明
|
|
このエラーは、行列またはベクトルを掛け合わせる際にアスタリスク(*)が使用されたときに発生します。この場合に使用して良いのはドット(ピリオド、または .)のみです。
2-D Math モードで作業中にアスタリスクを打ち込むと、この入力は可換の乗算演算子を表す中点 として表示されます。一方、ピリオドを打ち込むと、非可換の乗算またはドット積の乗算に使用される ドット演算子(dot operator) を表す、低い位置のドット として表示されます。中点はスカラー乗法(ベクトルおよび行列でスカラーを乗じる場合を含む)を意図したものであって、非可換の乗算またはドット積の乗算のためのものではありません。ベクトルまたは行列を掛け合わせる際にドット演算子が必要なのはこのためです。
このヘルプページでは全体にわたって、暗に示された乗法(スペース)を使用した例を示すことができるように、(別途指示されている場合を除き) 2-D Math が使用されます。
|
|
アプリケーションと例題
|
|
例 1
>
|
|
| (2.1) |
>
|
|
| (2.2) |
>
|
|
この例 1 では、M および V は行列およびベクトルに割当てられています。中点を使用した乗算を行おうとするとエラーが返されます。ここで、(基となる Maple 構文を示す) 1-D Maple 入力を使用した同様の例を示します。:
解決法:
この問題を修正するには、中点(アスタリスク)ではなく、ドット演算子(ピリオド)を使用すべきです。:
>
|
|
| (2.3) |
次に示すのは、1-D Maple 入力を使用した同一の解決法です。:
| (2.4) |
例 2
>
|
|
>
|
|
Maple はプロシージャを定義した時点で および が行列であることを認識していないため、Maple は、乗算を暗に示すためにスペースが使用されている箇所に、可換な乗算演算子(アスタリスク)を内部で挿入します。次に および が行列として定義されると、この演算子は行列を掛け合わせる乗算には使用できないため、エラーが返されます。
解決法:
ドット演算子を使用して明示された乗法を実行します。期待される結果を返す類似したプロシージャを次に示します。:
>
|
|
>
|
|
| (2.5) |
暗に示された乗算は、プロシージャまたは演算子本体の外にある行列およびベクトルには有効でないことに注意します。以下の例では、 および は既に行列として定義されています。そのため、Maple はスペースを正確に解釈し、暗に示された行列を掛け合わせる乗算を実行します。
>
|
|
| (2.6) |
>
|
|
| (2.7) |
暗に示された乗算をプロシージャ内で実行しようとする人が多いのはこのためです。しかし、例 2 に見られるように、この試みは失敗しエラーが返されます。
例 3
>
|
|
>
|
|
>
|
|
暗に示された乗法は、項目が既に行列またはベクトルであれば、常に有効となります。プロシージャ本体の外では、行列およびベクトルを返すことを目的とするがまだ計算されていない関数の呼び出しを掛け合わせると、暗に示された乗法は失敗します。この例では、2-D Math 構文解析ツールは、 および の関数の呼び出しがどのような型のオブジェクトを返すか認識していません。
解決法:
ここで再び、ドット演算子を使用して明示された乗法を実行します。
>
|
|
| (2.8) |
関連項目
dot,
examples/LA_Syntax_Shortcuts, LinearAlgebra[Multiply], Student/LinearAlgebra/Operators
|
|
Download Help Document
Was this information helpful?