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[IsDefinite] - 行列が正定値または負定値かを判定
使い方
IsDefinite(A, q)
パラメータ
A - 正方行列
q - query = attribute の形の等式で attribute は 'positive_definite', 'positive_semidefinite', 'negative_definite', 'negative_semidefinite' のいずれか
説明
IsDefinite(A, query = 'positive_definite') は、A が実対称または複素エルミート行列であってすべての固有値が正の値であることが確定すれば true を返します。デフォルトは query = 'positive_definite' であるため、このコマンドは、IsDefinite(A) と同じです。
同様に、実対称または複素エルミート行列に対して、以下の呼び出し手順は指定された結果を返します。
IsDefinite(A, query = 'positive_semidefinite') はすべての固有値が非負の値であることが確定すれば true を返します。
IsDefinite(A, query = 'negative_definite') はすべての固有値が負の値であることが確定すれば true を返します。
IsDefinite(A, query = 'negative_semidefinite') はすべての固有値が非正の値であることが確定すれば true を返します。
固有値が上で述べたものとは異なっていることが確定すれば、false の値が返されます。
要求された判定 に答えを出せない場合、このルーチンは、判定が true となる場合に満たされるべき条件を表わす論理式を返します。
正定値の定義は、すべての列ベクトル x に対して、HermitianTranspose(x) . A . x > 0 となることです。
半正定値、負定値、半負定値の定義は等号入りの不等号にしたり不等号を逆向きにすることにより得られます。
実非対称(複素非エルミート)行列に対して、定値性は A の対称 (エルミート) 部分、すなわち 1/2*(A+HermitianTranspose(A)) を考察することによって確かめられます。
実非対称行列の場合、対称な部分、1/2*(A+Transpose(A)) は A と同じ定値性を持ちます。
この関数は LinearAlgebra パッケージの一部ですから、コマンド with(LinearAlgebra) を実行した後にのみ IsDefinite(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[IsDefinite](..) を使えばいつでもアクセスすることができます。
例
with(LinearAlgebra): A := DiagonalMatrix([-5,0,-1]);
IsDefinite(A);
IsDefinite(A, 'query' = 'positive_semidefinite');
IsDefinite(A, 'query' = 'negative_semidefinite');
B := <<1,8,3>|<-4,5,2>|<6,1,0>>;
IsDefinite(B);
C := <<1,2+I>|<2-I,5>>;
IsDefinite(C);
IsDefinite(C, 'query' = 'positive_semidefinite');
IsDefinite(C, 'query' = 'negative_semidefinite');
次の例では、判定の結果は、 x と y に割り当てられる値に依存します。
assume(x,real,y,real); IsDefinite( <<x,0>|<0,y>> );
参照
Matrix, LinearAlgebra[Eigenvalues], LinearAlgebra[Eigenvectors], LinearAlgebra[HermitianTranspose], attributes, type
Download Help Document