X <- big_attachExtdata()
n <- nrow(X)
m <- ncol(X)
A <- matrix(0, m, 10); A[] <- rnorm(length(A))
test <- big_prodMat(X, A)
true <- X[] %*% A
all.equal(test, true)
X2 <- big_copy(X, type = "double")
all.equal(X2 %*% A, true)
# subsetting
ind.row <- sample(n, n/2)
ind.col <- sample(m, m/2)
tryCatch(test2 <- big_prodMat(X, A, ind.row, ind.col),
error = function(e) print(e))
# returns an error. You need to use the subset of A:
test2 <- big_prodMat(X, A[ind.col, ], ind.row, ind.col)
true2 <- X[ind.row, ind.col] %*% A[ind.col, ]
all.equal(test2, true2)
Run the code above in your browser using DataLab