# right multiply
# mat %*% diag(v)
n <- 30
p <- 20
mat <- matrix(n * p, n, p)
v <- rnorm(p)
A <- dmult(mat, v, side = "right")
B <- mat %*% diag(v)
range(A - B)
# left multiply
# diag(v) %*% mat
n <- 30
p <- 20
mat <- matrix(n * p, p, n)
v <- rnorm(p)
A <- dmult(mat, v, side = "left")
B <- diag(v) %*% mat
range(A - B)
Run the code above in your browser using DataLab