R/torch_cov.R

Defines functions torch_cov

#' @export
torch_cov<-function(x,
                    center = F)
{
  x_size = get_size(x)
  is_bm = is_batch_mat(x)
  if(is_bm){
    d = 2
    n_obs = x_size[d]
  }
  else{
    d = 1
    n_obs = x_size[d]
  }

  mat = torch_crossprod(x)
  mat = mat / n_obs

  if(center){
    mu = torch_mean(x,d,keepdim=T)
    mu_mat = torch_crossprod(mu)
    mat = mat - mu_mat
  }
  return(mat)
}
adsb85/lqp documentation built on April 9, 2022, 12:35 a.m.