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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。