R語言
spMatrix
位於 Matrix
包(package)。 說明
用戶友好地從三元組表示構造稀疏矩陣(繼承自類 TsparseMatrix
)。
這比 sparseMatrix()
更不靈活,因此有些不推薦使用。
用法
spMatrix(nrow, ncol, i = integer(), j = integer(), x = double())
參數
nrow , ncol |
指定所需行數和列數的整數。 |
i , j |
相同長度的整數向量指定矩陣的非零(或非 |
x |
與 |
值
三元組形式的稀疏矩陣,作為R對象繼承自兩者TsparseMatrix
和generalMatrix
.
矩陣 M[i[k], j[k]] == x[k]
,對於 ,其中 n = length(i)
和 M[ i', j' ] == 0
對於所有其他對 。 將具有
例子
## simple example
A <- spMatrix(10,20, i = c(1,3:8),
j = c(2,9,6:10),
x = 7 * (1:7))
A # a "dgTMatrix"
summary(A)
str(A) # note that *internally* 0-based indices (i,j) are used
L <- spMatrix(9, 30, i = rep(1:9, 3), 1:27,
(1:27) %% 4 != 1)
L # an "lgTMatrix"
## A simplified predecessor of Matrix' rsparsematrix() function :
rSpMatrix <- function(nrow, ncol, nnz,
rand.x = function(n) round(rnorm(nnz), 2))
{
## Purpose: random sparse matrix
## --------------------------------------------------------------
## Arguments: (nrow,ncol): dimension
## nnz : number of non-zero entries
## rand.x: random number generator for 'x' slot
## --------------------------------------------------------------
## Author: Martin Maechler, Date: 14.-16. May 2007
stopifnot((nnz <- as.integer(nnz)) >= 0,
nrow >= 0, ncol >= 0, nnz <= nrow * ncol)
spMatrix(nrow, ncol,
i = sample(nrow, nnz, replace = TRUE),
j = sample(ncol, nnz, replace = TRUE),
x = rand.x(nnz))
}
M1 <- rSpMatrix(100000, 20, nnz = 200)
summary(M1)
也可以看看
Matrix(*, sparse=TRUE)
用於此類矩陣的更常用構造函數。然後,sparseMatrix
比 spMatrix()
更通用、更靈活,並且默認返回 CsparseMatrix
,這通常稍微更理想。此外,bdiag
和 Diagonal
用於(塊)對角矩陣構造函數。
考慮TsparseMatrix
和類似的類定義幫助文件。
相關用法
- R sparseMatrix 從非零項構建一般稀疏矩陣
- R sparseQR-class 稀疏 QR 分解
- R sparse.model.matrix 構造稀疏設計/模型矩陣
- R sparseVector-class 稀疏向量類
- R sparseMatrix-class 虛擬類“sparseMatrix”——稀疏矩陣之母
- R sparseLU-class 稀疏 LU 分解
- R sparseVector 從非零條目構造稀疏向量
- R solve-methods 函數求解矩陣包中的方法
- R symmetricMatrix-class 包矩陣中對稱矩陣的虛擬類
- R symmpart-methods 矩陣的對稱部分和偏斜(對稱)部分
- R dtrMatrix-class 三角形稠密數值矩陣
- R facmul-methods 乘以矩陣因式分解的因數
- R updown-methods 更新和降級稀疏 Cholesky 分解
- R bdiag 構建分塊對角矩陣
- R printSpMatrix 靈活格式化和打印稀疏矩陣
- R all.equal-methods 函數 all.equal() 的矩陣封裝方法
- R boolmatmult-methods 布爾算術矩陣乘積:%&% 和方法
- R ltrMatrix-class 三角密集邏輯矩陣
- R Hilbert 生成希爾伯特矩陣
- R nearPD 最近正定矩陣
- R lsyMatrix-class 對稱密集邏輯矩陣
- R CHMfactor-class 稀疏 Cholesky 分解
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配給“矩陣”的子集
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Sparse Matrix Constructor From Triplet。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。