R語言
isSymmetric
位於 base
包(package)。 說明
用於測試 object
是否對稱的通用函數。目前僅實現了矩陣方法,其中complex
矩陣Z
必須為“Hermitian”,isSymmetric(Z)
才為真。
用法
isSymmetric(object, ...)
## S3 method for class 'matrix'
isSymmetric(object, tol = 100 * .Machine$double.eps,
tol1 = 8 * tol, ...)
參數
object |
任何R目的; A |
tol |
數值標量 >= 0。不考慮較小的差異,請參閱 |
tol1 |
數值標量 >= 0。 |
... |
傳遞給方法的進一步參數;矩陣方法將它們傳遞給 |
細節
默認情況下,matrix
方法在 eigen
內部使用,使用 all.equal
測試矩陣的對稱性直至舍入誤差。它可能並不適合所有情況。
請注意,隻有當 rownames
和 colnames
相同時,矩陣 m
才是對稱的。考慮使用unname(m)
。
值
邏輯指示 object
是否對稱。
例子
isSymmetric(D3 <- diag(3)) # -> TRUE
D3[2, 1] <- 1e-100
D3
isSymmetric(D3) # TRUE
isSymmetric(D3, tol = 0) # FALSE for zero-tolerance
## Complex Matrices - Hermitian or not
Z <- sqrt(matrix(-1:2 + 0i, 2)); Z <- t(Conj(Z)) %*% Z
Z
isSymmetric(Z) # TRUE
isSymmetric(Z + 1) # TRUE
isSymmetric(Z + 1i) # FALSE -- a Hermitian matrix has a *real* diagonal
colnames(D3) <- c("X", "Y", "Z")
isSymmetric(D3) # FALSE (as row and column names differ)
isSymmetric(D3, check.attributes=FALSE) # TRUE (as names are not checked)
也可以看看
eigen
在 symmetric
參數丟失時調用 isSymmetric
。
相關用法
- R isS4 測試 S4 對象
- R is.recursive 對象是原子的還是遞歸的?
- R is.object 對象是“內部分類的”嗎?
- R is.language 對象是語言對象嗎?
- R is.finite 有限、無限和 NaN 數
- R is.single 對象是單精度類型嗎?
- R is.R 我們使用的是 R,而不是 S?
- R is.unsorted 測試對象是否未排序
- R is.function 是類型(原始)函數的對象嗎?
- R invisible 將打印模式更改為不可見
- R icuSetCollate 按 ICU 設置整理
- R identity 恒等函數
- R identical 測試對象是否完全相等
- R integer 整數向量
- R iconv 在編碼之間轉換字符向量
- R interactive R 是否以交互方式運行?
- R interaction 計算因子交互作用
- R ifelse 條件元素選擇
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Test if a Matrix or other Object is Symmetric (Hermitian)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。