Main Content

jordan

ジョルダン標準形 (ジョルダン正準形)

説明

J = jordan(A) は行列 A のジョルダン標準形を計算します。数値行列のジョルダン形式は数値誤差の影響を受けやすいため、数値入力を厳密なシンボリック型に変換することがよく行われます。

[V,J] = jordan(A) では、ジョルダン形式 J および相似変換 V を計算します。行列 V には、A の一般化された固有ベクトルが列として格納され、V\A*V = J となります。

すべて折りたたむ

行列のジョルダン形式および相似変換を計算します。数値行列のジョルダン形式は数値誤差の影響を受けやすいため、まずは sym を使用して行列をシンボリック型に変換します。

A = [ 1 -3 -2;
     -1  1 -1;
      2  4  5];
A = sym(A);
[V,J] = jordan(A)
V =
[ -1, 1, -1]
[ -1, 0,  0]
[  2, 0,  1]

J =
[ 2, 1, 0]
[ 0, 2, 0]
[ 0, 0, 3]

isAlways を使用して、V が条件 V\A*V = J を満たすことを確認します。

cond = J == V\A*V;
isAlways(cond)
ans =
  3×3 logical array
   1   1   1
   1   1   1
   1   1   1

バージョン履歴

R2006a より前に導入