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[IsOrthogonal] - 直交行列であるかを判定
LinearAlgebra[IsUnitary] - ユニタリ行列であるかを判定
使い方
IsOrthogonal(A, M)
IsUnitary(A, M)
パラメータ
A - 正方行列
M - (オプション) 正方行列
説明
IsOrthogonal(A) 関数は A が 直交行列 (AA' = I, ただし A' は転置であり I は単位行列) であるかどうか判定します。
IsOrthogonal(A,M) 関数は A が M によって定義される内積 (AMA' = I) に関して直交行列であるかどうかを判定します。
一般に、IsOrthogonal 関数は A が直交行列であると判定されれば true を返し、A が直交行列でないと判定されれば false を返し、その他の場合は FAIL を返します。
IsUnitary(A) 関数は A がユニタリ行列 (A . A* = I, ただし A* はエルミート転置であり I は単位行列) であるかどうかを判定します。
IsUnitary(A,M) 関数は A が M によって定義される内積 (A . M . A* = I) についてユニタリ行列であるかどうかを判定します。
一般に、IsUnitary 関数は行列 A がユニタリであると判定されれば true を返し、行列がユニタリでないと判定されれば false を返し、その他の場合は FAIL を返します。
この関数は LinearAlgebra パッケージの一部ですから、コマンド with(LinearAlgebra) を実行した後にのみ IsOrthogonal(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[IsOrthogonal](..) を使えばいつでもアクセスすることができます。
例
with(LinearAlgebra): G := map(simplify, GivensRotationMatrix( <cos(theta),sin(theta)>, 1, 2, 3 ));
Normalizer := x -> simplify(x,'trig'): IsOrthogonal(G);
map(simplify, G . Transpose(G));
Q := <<sqrt(10)*3/10, -sqrt(10)/10>|<sqrt(10)*I/10, 3*sqrt(10)*I/10>>;
IsOrthogonal(Q);
IsUnitary(Q);
A := <<1,2>|<4,-3>>: C := <<25/121,2/121>|<2/121,5/121>>: A . C . Transpose(A);
IsOrthogonal(A,C);
参照
Matrix, LinearAlgebra[HermitianTranspose], LinearAlgebra[IdentityMatrix], LinearAlgebra[Transpose]
Download Help Document