diagonalMatrix-class
位於 Matrix
包(package)。 說明
類"diagonalMatrix"是所有對角矩陣的虛擬類。
類中的對象
虛擬類:不能從中創建任何對象。
插槽
diag
:-
character
字符串,"U"
或"N"
,其中"U"
表示“unit-diagonal”。 Dim
:-
矩陣維數,以及
Dimnames
:
擴展
直接類 "sparseMatrix"
。
方法
這些隻是定義方法的簽名的子集。目前,為了確保對角矩陣的有效方法,定義了(太多)顯式方法。
- 強製
-
signature(from = "matrix", to = "diagonalMatrix")
:... - 強製
-
signature(from = "Matrix", to = "diagonalMatrix")
:... - 強製
-
signature(from = "diagonalMatrix", to = "generalMatrix")
:... - 強製
-
signature(from = "diagonalMatrix", to = "triangularMatrix")
:... - 強製
-
signature(from = "diagonalMatrix", to = "nMatrix")
:... - 強製
-
signature(from = "diagonalMatrix", to = "matrix")
:... - 強製
-
signature(from = "diagonalMatrix", to = "sparseVector")
:... - t
-
signature(x = "diagonalMatrix")
:...
以及更多方法
- 解決
-
signature(a = "diagonalMatrix", b, ...)
:當然是簡單實現的;另請參見solve-methods
。 - 哪一個
-
signature(x = "nMatrix")
,語義上等同於base
函數which(x, arr.ind)
。 - "Math"
-
signature(x = "diagonalMatrix")
:所有這些組方法都返回"diagonalMatrix"
,除了cumsum()
等也返回base
matrix
的向量。 - *
-
signature(e1 = "ddiMatrix", e2="denseMatrix")
:Ops
組中的算術和其他運算符有幾十個顯式方法定義,以便在許多情況下保持結果對角線,包括以下內容: - /
-
signature(e1 = "ddiMatrix", e2="denseMatrix")
: 結果來自課堂ddiMatrix
這通常是非常理想的。請注意,當e2
包含非對角零或NA
s,我們隱式地使用 ,因此與傳統的R算術(其中 ),以保持稀疏性。 - 概括
-
(object = "diagonalMatrix")
:返回 S3 類"diagSummary"
的對象,它是向量object@x
加上簡單標題和適當的print
方法的摘要。
例子
I5 <- Diagonal(5)
D5 <- Diagonal(x = 10*(1:5))
## trivial (but explicitly defined) methods:
stopifnot(identical(crossprod(I5), I5),
identical(tcrossprod(I5), I5),
identical(crossprod(I5, D5), D5),
identical(tcrossprod(D5, I5), D5),
identical(solve(D5), solve(D5, I5)),
all.equal(D5, solve(solve(D5)), tolerance = 1e-12)
)
solve(D5)# efficient as is diagonal
# an unusual way to construct a band matrix:
rbind2(cbind2(I5, D5),
cbind2(D5, I5))
也可以看看
Diagonal()
作為這些矩陣的構造函數,以及 isDiagonal
。 ddiMatrix
和 ldiMatrix
是擴展 "diagonalMatrix"
的 “actual” 類。
相關用法
- R diagU2N 將三角矩陣從單位三角形變換到一般三角形並返回
- R dimScale 縮放矩陣的行和列
- R dtrMatrix-class 三角形稠密數值矩陣
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R dsRMatrix-class 對稱稀疏壓縮行矩陣
- R dsCMatrix-class 數值對稱稀疏(列壓縮)矩陣
- R dgTMatrix-class 三元組形式的稀疏矩陣
- R ddiMatrix-class 對角數值矩陣的“ddiMatrix”類
- R dpoMatrix-class 正半定稠密(壓縮|非壓縮)數值矩陣
- R dmperm Dulmage-Mendelsohn 排列/分解
- R dtpMatrix-class 填充三角密集矩陣 - “dtpMatrix”
- R dtCMatrix-class 三角形(壓縮)稀疏列矩陣
- R drop0 從稀疏矩陣中刪除非結構零
- R dtRMatrix-class 三角形稀疏壓縮行矩陣
- R denseMatrix-class 所有密集矩陣的虛擬類“denseMatrix”
- R ddenseMatrix-class 數值密集矩陣的虛擬類“ddenseMatrix”
- R dsyMatrix-class 對稱密集(壓縮或非壓縮)數值矩陣
- R dsparseMatrix-class 數值稀疏矩陣的虛擬類“dsparseMatrix”
- R dMatrix-class (虛擬)“雙”矩陣的“dMatrix”類
- R facmul-methods 乘以矩陣因式分解的因數
- R solve-methods 函數求解矩陣包中的方法
- R updown-methods 更新和降級稀疏 Cholesky 分解
- R bdiag 構建分塊對角矩陣
- R printSpMatrix 靈活格式化和打印稀疏矩陣
- R symmetricMatrix-class 包矩陣中對稱矩陣的虛擬類
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Class "diagonalMatrix" of Diagonal Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。