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


R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类


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

说明

对称矩阵的虚拟类 "symmetricMatrix" ,来自 Matrix 包,包含数字和逻辑、稠密和稀疏矩阵,例如,请参阅 “actual” 子类的示例。

主要用途是在可以处理所有对称矩阵的方法(和 C 函数)以及 as(*, "symmetricMatrix") 中。

插槽

uplo

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

Dim, Dimnames

尺寸(长度为 2 "integer" )和相应的名称(或 NULL ),继承自 Matrix ,请参阅此处。请参阅下文,了解仅存储两个 Dimnames 组件之一。

factors

矩阵分解列表,也来自 Matrix 类。

扩展

直接类 "Matrix"

方法

暗名

signature(object = "symmetricMatrix") :返回对称 dimnames ,即使 Dimnames 槽只有行或列名称。这可以节省大型(通常是稀疏)对称矩阵的存储空间。

是对称的

signature(object = "symmetricMatrix") :简单地返回TRUE

有一个 C 函数 symmetricMatrix_validate() 由内部有效性检查函数调用,也来自 getValidity(getClass("symmetricMatrix"))

有效性和dimnames

有效性检查不需要对称的 Dimnames 槽,因此它可以是 list(NULL, <character>) ,例如,为了提高效率。但是,dimnames() 和其他函数和方法的行为应该就像暗名称是对称的一样,即两个列表组件相同。

例子

## An example about the symmetric Dimnames:
sy <- sparseMatrix(i= c(2,4,3:5), j= c(4,7:5,5), x = 1:5, dims = c(7,7),
                   symmetric=TRUE, dimnames = list(NULL, letters[1:7]))
sy # shows symmetrical dimnames
sy@Dimnames  # internally only one part is stored
dimnames(sy) # both parts - as sy *is* symmetrical

showClass("symmetricMatrix")

## The names of direct subclasses:
scl <- getClass("symmetricMatrix")@subclasses
directly <- sapply(lapply(scl, slot, "by"), length) == 0
names(scl)[directly]

## Methods -- applicaple to all subclasses above:
showMethods(classes = "symmetricMatrix")

也可以看看

isSymmetric 具有适用于 Matrix 类的高效方法 (isSymmetric-methods )。类 triangularMatrix ,例如,dsyMatrix 用于数字密集矩阵,或 lsCMatrix 用于逻辑稀疏矩阵类。

相关用法


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