I have to use a loop (while or for) to return the result of hadamard product. now it returns a matrix, but when I use is.matrix() to check, it returns FALSE, whats wrong?
Matrix.mul <- function(A, B) { while(is.matrix(A) == FALSE | is.matrix(B) == FALSE ) {print("error") break} while(is.matrix(A) == T & is.matrix(B) == T) { n <- dim(A)[1]; m <- dim(A)[2]; p <- dim(B)[1]; q <- dim(B)[2]; while(m == p) { C <- matrix(0, nrow = n , ncol = q) for(s in 1:n) { for(t in 1:q) { c <- array(0, dim = m ) for(k in 1:m) { c[k] <- A[s,k] * B[k, t] } C[s, t] <- sum(c) } } print(C) break } while(m != p) { print("error") break } break } } [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.