set.seed(1)
n <- 10; p <- 5
X <- matrix(rnorm(n * p), n, p)
u <- runif(n); w <- u * (1 - u)
bd_wproduct(X, w, "xtwx") # p x p
bd_wproduct(X, w, "wx") # n x p (row scaling)
v <- runif(p)
bd_wproduct(X, v, "xw") # n x p (col scaling)
bd_wproduct(X, v, "xwxt") # n x n
Run the code above in your browser using DataLab