Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
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