Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
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