Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
LinearAlgebra[Multiply] - 行列、ベクトルとスカラーの積の計算
使い方
Multiply(A, B, ip, outopt)
パラメータ
A - 行列、ベクトル、またはスカラー
B - 行列、ベクトル、またはスカラー
ip - (オプション) BooleanOpt(inplace); 出力が入力を上書きするかどうかを指定
outopts - (オプション) outputoptions=list の形をした等式; 結果として得られるオブジェクトのコンストラクタオプション
説明
Multiply(A, B) 関数は、積 A . B を計算します。返される結果の型は、A と B に依存しています。(プログラミングノート の下の表を参照)
inplace オプション (ip) は結果が返される場所を決めます。inplace=true が与えられれば、結果は最初の引数に上書きされます。 inplace=false が与えられるか、または呼び出し手順に含まれていないときは、結果は新しい行列(あるいはベクトル)として返されます。
第1引数がスカラーならば、計算は第2引数に対して行われます(可能ならば)。両方の引数がスカラーのときは、inplace と outputoptions パラメータは無視されます。
inplace=true という条件は、inplace と略記することができます。
inplace オプションは、注意して使わなければいけません。なぜなら、演算が失敗すれば元の行列(あるいはベクトル)の引数は改悪されてしまうからです。
outputoptions オプション (outopts) は、結果を作成する Matrix (あるいは Vector) コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
inplace と outputoptions オプションは両立しません。
この関数は LinearAlgebra パッケージの一部ですから、 with(LinearAlgebra) を実行した後にのみ Multiply(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[Multiply](..) を使えばいつでもアクセスすることができます。
この関数は、同等のショートカット表記 A.B を持ちます。(LinearAlgebra[Multiply] は型 algebraic の任意の式を scalar として扱うが、型 rtable の式を scalar として扱わない、その一方で、 dot 演算は constant の型のオブジェクトだけをスカラーとして扱うという例外があります)。詳しくは、dot 演算を参照してください。
プログラミングノート
このルーチンは、 LinearAlgebra パッケージ内の対応するバイナリー乗法ルーチンを選ぶために A と B の型を用います。(LinearAlgebra パッケージによるプログラミング を参照してください。呼び出されたパラメータ型、対応する結果の型、呼び出される LinearAlgebra の乗法ルーチンを、次の表に示します。
B A qXn 1Xn qX1 行列 行ベクトル 列ベクトル スカラー mXq mXn 行列 エラー mX1 列ベクトル mXq 行列 行列 MatrixMatrixMultiply MatrixVectorMultiply MatrixScalarMultiply 1Xq 1Xn 行ベクトル エラー スカラー 1Xq ベクトル 行ベクトル VectorMatrixMultiply VectorScalarMultiply mX1 エラー mXn 行列 (外積) エラー mX1 ベクトル 列ベクトル OuterProductMatrix VectorScalarMultiply qXn 行列 1Xn 行ベクトル qX1 列ベクトル スカラー スカラー MatrixScalarMultiply VectorScalarMultiply VectorScalarMultiply 標準的な積
注意:
* A か B のどちらかが識別できない型 (Matrix, Vector, scalar でない)のときは、エラーが返されます。
* 外積の場合、結果は OuterProduct の shape を持つ行列として作られるのではなく、フルな長方行列として生成されます。
例
with(LinearAlgebra): A := <<n,0>|<0,n>>;
Multiply(A,A);
Multiply(A,-2,inplace);
A;
r1 := <3|2|1>;
c1 := <x,y,z>;
Multiply(r1,c1);
B := Multiply(c1,r1);
Multiply(B,<0,0,1>);
参照
Matrix, Vector, type[scalar], type[BooleanOpt], LinearAlgebra[MatrixMatrixMultiply], LinearAlgebra[MatrixVectorMultiply], LinearAlgebra[ScalarMultiply], dot
Download Help Document