Methods for Function 'kronecker()' in Package 'Matrix'

Description

Computes Kronecker products for objects inheriting from "Matrix".

In order to preserver sparseness, we treat 0 * NA as 0, not as NA as usually in R (and as used for the base function kronecker).

Methods

kronecker

signature(X = "Matrix", Y = "ANY") .......

kronecker

signature(X = "ANY", Y = "Matrix") .......

kronecker

signature(X = "diagonalMatrix", Y = "ANY") .......

kronecker

signature(X = "sparseMatrix", Y = "ANY") .......

kronecker

signature(X = "TsparseMatrix", Y = "TsparseMatrix") .......

kronecker

signature(X = "dgTMatrix", Y = "dgTMatrix") .......

kronecker

signature(X = "dtTMatrix", Y = "dtTMatrix") .......

kronecker

signature(X = "indMatrix", Y = "indMatrix") .......

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
(t1 <- spMatrix(5,4, x= c(3,2,-7,11), i= 1:4, j=4:1)) #  5 x  4
(t2 <- kronecker(Diagonal(3, 2:4), t1))               # 15 x 12

## should also work with special-cased logical matrices
l3 <- upper.tri(matrix(,3,3))
M <- Matrix(l3)
(N <- as(M, "nsparseMatrix"))
N2 <- as(N, "generalMatrix")
MM <- kronecker(M,M)
NN <- kronecker(N,N)
NN2 <- kronecker(N2,N2)
stopifnot(identical(NN,MM),
          is(NN, "triangularMatrix"))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.