XLPack 6.1
Excel ワークシート関数 数値計算ライブラリ・リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ WDgeev()

Function WDgeev ( JobVl As  String,
JobVr As  String,
N As  Long,
A As  Variant 
)

固有値・固有ベクトル (一般行列)

目的
WDgeevはN×N一般実行列Aの固有値, および, 必要により左および/または右固有ベクトルを求める.

Aの右固有ベクトルv(j)は次式を満たす.
A * v(j) = λ(j) * v(j)
ここで, λ(j)は固有値である.
Aの左固有ベクトルu(j)は次式を満たす.
u(j)^H * A = λ(j) * u(j)^H
ここで, u(j)^H はu(j)の共役転置を表す。

求められた固有ベクトルはユークリッドノルムが1で最大成分が実数になるように正規化される.
戻り値
N+1×2 (JobVl = "N", JobVr = "N" の場合)
列1列2
行1〜N固有値の実数部固有値の虚数部
行N+1リターンコード0
N+1×N+2 (JobVl = "V", JobVr = "N" の場合)
列1列2列3〜N+2
行1〜N固有値の実数部固有値の虚数部左固有ベクトル. j番目の固有値が実数の場合, j列が固有ベクトルとなる. j番目とj+1番目の固有値が共役複素数の場合, j列を実数部, j+1列を虚数部とした共役複素数がそれぞれの固有ベクトルとなる.
行N+1リターンコード00
N+1×N+2 (JobVl = "N", JobVr = "V" の場合)
列1列2列3〜N+2
行1〜N固有値の実数部固有値の虚数部右固有ベクトル. j番目の固有値が実数の場合, j列が固有ベクトルとなる. j番目とj+1番目の固有値が共役複素数の場合, j列を実数部, j+1列を虚数部とした共役複素数がそれぞれの固有ベクトルとなる.
行N+1リターンコード00
N+1×2N+2 (JobVl = "V", JobVr = "V" の場合)
列1列2列3〜N+2列N+3〜2N+2
行1〜N固有値の実数部固有値の虚数部左固有ベクトル. j番目の固有値が実数の場合, j列が固有ベクトルとなる. j番目とj+1番目の固有値が共役複素数の場合, j列を実数部, j+1列を虚数部とした共役複素数がそれぞれの固有ベクトルとなる.右固有ベクトル. j番目の固有値が実数の場合, j列が固有ベクトルとなる. j番目とj+1番目の固有値が共役複素数の場合, j列を実数部, j+1列を虚数部とした共役複素数がそれぞれの固有ベクトルとなる.
行N+1リターンコード000

リターンコード.
= 0: 正常終了.
= i > 0: 1〜i番目の固有値の計算が収束しなかった. 固有ベクトルは計算されない.
引数
[in]JobVl= "N": Aの左固有ベクトルを求めない.
= "V": Aの左固有ベクトルを求める.
[in]JobVr= "N": Aの右固有ベクトルを求めない.
= "V": Aの右固有ベクトルを求める.
[in]N行列Aの行および列数. (N >= 1)
[in]A(N×N) N×N行列 A.
出典
LAPACK
使用例
行列Aの固有値・固有ベクトルを求める. ただし,
( 0.20 -0.11 -0.93 )
A = ( -0.32 0.81 0.37 )
( -0.80 -0.92 -0.29 )
とする.

WDgeev