if (FALSE) {
# R base operation
x <- c(6:-4)
sqrt(ifelse(x >= 0, x, NA))
# LazyTensor symbolic element-wise square
D <- 3
M <- 100
N <- 150
P <- 200
x <- matrix(runif(M * D), M, D)
y <- matrix(runif(N * D), N, D)
z <- matrix(runif(P * D), P, D)
x_i <- LazyTensor(x, index = 'i')
y_j <- LazyTensor(y, index = 'j')
z_i <- LazyTensor(z, index = 'i')
if_else_xyz <- ifelse(x_i, y_j, z_i)
}
Run the code above in your browser using DataLab