R/dist3.R

Defines functions dist3

dist3 <- function(X,C,n_cores) {
  ndata = nrow(X)
  ncentres = nrow(C)

  sumsqX = rowSums(X^2)
  sumsqC = rowSums(C^2)
  
  XC = 2 * matmultip(X,t(C),n_cores)
  
  res = matrix(rep(sumsqX,times=ncentres),ndata,ncentres) + t(matrix(rep(sumsqC,times=ndata),ncentres,ndata)) - XC
  res[res < 0] = 0
  return(res)
}
shaoqiangzhang/SCENA documentation built on Jan. 11, 2022, 6:20 p.m.