# kronecker-methods: Methods for Function 'kronecker()' in Package 'Matrix' In Matrix: Sparse and Dense Matrix Classes and Methods

## 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 14``` ```(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")) # "ntCMatrix" (upper triangular) N2 <- as(N, "generalMatrix") # (lost "t"riangularity) MM <- kronecker(M,M) NN <- kronecker(N,N) # "dtTMatrix" i.e. did keep NN2 <- kronecker(N2,N2) stopifnot(identical(NN,MM), is(NN2, "sparseMatrix"), all(NN2 == NN), is(NN, "triangularMatrix")) ```

Matrix documentation built on April 6, 2018, 3:06 p.m.