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


R dsyMatrix-class 对称密集(压缩或非压缩)数值矩阵


R语言 dsyMatrix-class 位于 Matrix 包(package)。

说明

  • "dsyMatrix" 类是非压缩存储中的对称密集矩阵类,

  • "dspMatrix" 是压缩存储中的对称稠密矩阵类,请参阅 pack() 。仅存储上三角形或下三角形。

类中的对象

可以分别通过 new("dsyMatrix", ...)new("dspMatrix", ...) 形式的调用来创建对象。

插槽

uplo

"character" 的对象。对于上三角,必须是"U",对于下三角,必须是"L"。

x

"numeric" 的对象。构成矩阵的数值,按列优先顺序存储。

DimDimnames

维度(长度为 2 "integer" )和相应的名称(或 NULL ),请参阅 Matrix

factors

"list" 的对象。已为矩阵计算的分解的命名列表。

扩展

"dsyMatrix"扩展类"dgeMatrix",直接,而
"dspMatrix"扩展类"ddenseMatrix", 直接地。

两者都直接扩展类 "symmetricMatrix" ,并且类 "Matrix" 和其他类间接扩展类 showClass("dsyMatrix") ,例如,用于详细信息。

方法

规范

signature(x = "dspMatrix", type = "character")x = "dsyMatrix"type = "missing" :计算所需类型的矩阵范数,请参阅 norm

rcond

signature(x = "dspMatrix", type = "character")x = "dsyMatrix"type = "missing" :计算条件数的倒数 rcond()

解决

signature(a = "dspMatrix", b = "....")

解决

signature(a = "dsyMatrix", b = "....") : x <- solve(a,b) 解为 ;请参阅solve-methods

t

signature(x = "dsyMatrix"):转置;从上三角存储交换到下三角存储,即 uplo 槽从 "U" 交换到 "L" 或反之亦然,与所有对称矩阵相同。

例子


## Only upper triangular part matters (when uplo == "U" as per default)
(sy2 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, NA,32,77)))
str(t(sy2)) # uplo = "L", and the lower tri. (i.e. NA is replaced).

chol(sy2) #-> "Cholesky" matrix
(sp2 <- pack(sy2)) # a "dspMatrix"

## Coercing to dpoMatrix gives invalid object:
sy3 <- new("dsyMatrix", Dim = as.integer(c(2,2)), x = c(14, -1, 2, -7))
try(as(sy3, "dpoMatrix")) # -> error: not positive definite


## 4x4 example
m <- matrix(0,4,4); m[upper.tri(m)] <- 1:6
(sym <- m+t(m)+diag(11:14, 4))
(S1 <- pack(sym))
(S2 <- t(S1))
stopifnot(all(S1 == S2)) # equal "seen as matrix", but differ internally :
str(S1)
S2@x

也可以看看

正(半)定稠密(压缩或非压缩数值矩阵类 dpoMatrixdppMatrixcorMatrix

dgeMatrixMatrixsolvenormrcondt

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Symmetric Dense (Packed or Unpacked) Numeric Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。