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[DotProduct] - 2 つのベクトルのドット積(標準的な内積)の計算
LinearAlgebra[BilinearForm] - 行列に関する 2 つのベクトルの一般的な双1次形式の計算
使い方
DotProduct(U, V, c)
BilinearForm(U, V, A, c)
パラメータ
U, V - ベクトル
A - (オプション) 行列; 双 1 次形式を定義
c - (オプション) BooleanOpt(conjugate); エルミート変換を用いるかを指定
説明
DotProduct(U, V) 関数はベクトル U と V のドット積を計算します。
W := DotProduct(U, V) ならば、W は次の公式を用いて計算されたスカラーです。
add( F(U[i]) * G(V[i]), i = 1..Dimension(U))
ただしベクトル U と V は同じ次元を持ち、
U が列ベクトルなら F(z) = conjugate(z)、そうでなければ F(z) = z で、
(V でなく) U が行ベクトルなら G(z) = conjugate(z)、そうでなければ G(z) = z です。
BilinearForm(U, V, A) 関数は、 形式を定めるために行列 A を用いる DotProduct(U, V) 関数の一般化、すなわち U, A, V の3つの積です。
パラメータ A は、 呼び出し手順の BilinearForm に対するパラメータです。A が省略されれば、そのデフォルト値は単位行列で、双 1 次形式は単にドット積となります。
U, V, A の次元は、積が構成できるものでなければなりません。特に、A が双 1 次形式に対する呼び出し手順の中に含まれてないなら U と V は同じ次元を持たなければなりません。
下の表でベクトルの方向付けと conjugate オプションが有無に応じて決められるベクトルと行列の組に対して双 1 次形式を定義します。表中の星印はエルミート (共役) 転置を表し、アポストロフィは転置を表します。
c が conjugate または conjugate=true のとき、 U の方向 V の方向 結果 列 列 U* A V 行 列 U A conjugate(V) 行 行 U A* V* 列 行 U* A* V' c が conjugate=false のとき、 U の方向 V の方向 結果 列 列 U** A V 行 列 U A V 行 行 U A' V' 列 行 U' A' V'
注意: 上の表中で与えられる規則は、A が (対称 または エルミート) 正定値行列で、U = V かつ conjugate オプションがベクトルと行列のデータ型と矛盾していない (すなわち、それらが複素数上で定義されていれば true 、実数上で定義されていれば false) ならば、結果は非負の実数値スカラーとなることを保証するように設計されています。特に、A が単位行列ならば、結果は U の 2-ノルム の平方です。
この関数は LinearAlgebra パッケージの一部ですから、with(LinearAlgebra) を実行した後にのみ DotProduct(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[DotProduct](..) を使えばいつでもアクセスすることができます。
例
with(LinearAlgebra): V1 := <x,y,1,2>;
V2 := <3,4,5,6>;
DotProduct(V1, V2);
BilinearForm(V1, V2, conjugate=false);
A := <<1,5,w>|<2,6,x>|<3,7,y>|<4,8,z>>;
V3 := <4|3|2>;
BilinearForm(V1, V3, A);
参照
Vector, Matrix, LinearAlgebra[Transpose], LinearAlgebra[HermitianTranspose], LinearAlgebra[Dimension], LinearAlgebra[CrossProduct], LinearAlgebra[Norm], type[BooleanOpt]
Download Help Document