eigen
位於 base
包(package)。 說明
計算數值(雙精度、整數、邏輯)或複矩陣的特征值和特征向量。
用法
eigen(x, symmetric, only.values = FALSE, EISPACK = FALSE)
參數
x |
要計算其譜分解的數值或複數矩陣。邏輯矩陣被強製轉換為數字。 |
symmetric |
如果 |
only.values |
如果 |
EISPACK |
合乎邏輯的。已失效並被忽視。 |
細節
如果未指定symmetric
,則isSymmetric(x)
確定矩陣是否對稱,直至出現可能的數值誤差。自己設置該值更可靠且通常更快。
對於大型矩陣來說,計算特征向量是最慢的部分。
在 real-world 計算機上計算矩陣的特征分解會出現錯誤:最終的分析是 Wilkinson (1965)。您所希望的隻是一個與 x
相當接近的問題的解決方案。因此,即使實數不對稱 x
可能具有具有重複實特征值的代數解,計算出的解也可能是具有複共軛特征值對的類似矩陣。
底層 LAPACK 代碼的不成功結果將導致錯誤,並給出正錯誤代碼(最常見的是 1
):這些隻能通過詳細研究 FORTRAN 代碼來解釋。
x
中缺少 NaN
或無限值將給出錯誤。
值
x
的譜分解以包含組件的列表形式返回
values |
包含 |
vectors |
其列包含 回想一下,特征向量僅定義為一個常數:即使指定了長度,它們仍然僅定義為模一標量(實矩陣的符號)。 |
當 only.values
不為 true 時,默認情況下,結果是 S3 類 "eigen"
。
如果 r <- eigen(A)
和 V <- r$vectors; lam <- r$values
,則
(直到數值模糊),其中 diag(lam)
。
例子
eigen(cbind(c(1,-1), c(-1,1)))
eigen(cbind(c(1,-1), c(-1,1)), symmetric = FALSE)
# same (different algorithm).
eigen(cbind(1, c(1,-1)), only.values = TRUE)
eigen(cbind(-1, 2:1)) # complex values
eigen(print(cbind(c(0, 1i), c(-1i, 0)))) # Hermite ==> real Eigenvalues
## 3 x 3:
eigen(cbind( 1, 3:1, 1:3))
eigen(cbind(-1, c(1:2,0), 0:2)) # complex values
來源
eigen
使用 LAPACK 例程 DSYEVR
、 DGEEV
、 ZHEEV
和 ZGEEV
。
LAPACK 來自https://netlib.org/lapack/,其指南在參考文獻中列出。
參考
Anderson. E. and ten others (1999)
LAPACK Users' Guide. Third Edition. SIAM.
Available on-line at
https://netlib.org/lapack/lug/lapack_lug.html.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Wilkinson, J. H. (1965) The Algebraic Eigenvalue Problem. Clarendon Press, Oxford.
也可以看看
相關用法
- R eval 計算(未計算的)表達式
- R environment 環境接入
- R exists 是否已定義對象?
- R eapply 將函數應用於環境中的值
- R expand.grid 從因子變量的所有組合創建 DataFrame
- R expression 未計算的表達式
- R encodeString 對字符向量進行編碼以供打印
- R extSoftVersion 第三方軟件的報告版本
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 將文本推回連接
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R invisible 將打印模式更改為不可見
- R noquote “無引號”字符串打印類
- R warning 警告信息
- R rapply 遞歸地將函數應用於列表
- R basename 操作文件路徑
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Spectral Decomposition of a Matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。