Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rでの対称行列の固有値・固有ベクトルの最適な求め方

  • Be the first to comment

  • Be the first to like this

Rでの対称行列の固有値・固有ベクトルの最適な求め方

  1. 1. 2009.08 作成 [R] 対称行列の固有値・固有ベクトルの最適な求め方 固有値算出には、固有値分解、特異値分解、QR 分解などいくつかの方法があり、R ではいずれも LAPACK のルーチンを呼び出して使っている。 対称行列についての計算の場合は、計算効率が良く DC 法よりもメモリを消費しない HG法を採用している eigen 関数の利用が最も良いと思われる。LAPACK にある固有値・特異値問題の解き方の流れ Phase 1. 初期行列を減じる (二重対角化) Phase 2. 固有値計算 Phase 3. 結果がもとの行列に対応するよう逆変換 ※ Phase 1 と 3 は並立処理可能。問題は Phase 2。固有値計算(Phase 2)の解法 1) QR 法 [LAPACK V.1~] 計算効率が O(n**3) 2) Divide-and-conquer(分割統治:DC)法 [LAPACK V.2~] 計算効率が最大で O(n**3) 3) Holy Grail(HG)法 [LAPACK V.3~] 計算効率が O(nk)Rの固有値・特異値分解で使っている LAPACK ルーチン ○ 固有値分解 eigen() - DSYEVR 対称行列の固有値問題に対する倍精度実数の RRR ドライバ ← HG 法 ※ RRR: relatively robust representation の略 - DGEEV 非対称行列の固有値問題に対する倍精度実数の simple ドライバ - ZHEEV 倍精度複素数用 - ZGEEV 倍精度複素数用 ○ 特異値分解 svd() - DGESDD 特異値分解の DC 法ドライバ - ZGESVD 倍精度複素数用[参考] “LAPACK Users’ Guide” Third Edition http://www.netlib.org/lapack/lug/index.html

    Be the first to comment

    Login to see the comments

Views

Total views

1,812

On Slideshare

0

From embeds

0

Number of embeds

9

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×