当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R forceSymmetric-methods 强制矩阵为“对称矩阵”而不进行对称性检查


R语言 forceSymmetric-methods 位于 Matrix 包(package)。

说明

将方阵 x 强制转换为 symmetricMatrix ,无需对称检查,因为它将应用于 as(x, "symmetricMatrix")

用法

forceSymmetric(x, uplo)

参数

x

任何方阵(数字), “"traditional"” ( matrix ) 或继承自 Matrix

uplo

可选字符串,"U""L",指示 x 的 “triangle” 一半应确定结果。默认值为 "U" ,除非 x 已具有 uplo 插槽(即,当它为 symmetricMatrixtriangularMatrix 时),其中默认值为 x@uplo

继承自类 symmetricMatrix 的方阵。

例子

 ## Hilbert matrix
 i <- 1:6
 h6 <- 1/outer(i - 1L, i, "+")
 sd <- sqrt(diag(h6))
 hh <- t(h6/sd)/sd # theoretically symmetric
 isSymmetric(hh, tol=0) # FALSE; hence
 try( as(hh, "symmetricMatrix") ) # fails, but this works fine:
 H6 <- forceSymmetric(hh)

 ## result can be pretty surprising:
 (M <- Matrix(1:36, 6))
 forceSymmetric(M) # symmetric, hence very different in lower triangle
 (tm <- tril(M))
 forceSymmetric(tm)

也可以看看

symmpart 用于矩阵的对称部分,或强制转换 as(x, <symmetricMatrix class>)

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Force a Matrix to 'symmetricMatrix' Without Symmetry Checks。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。