R/tINVdwt.R

Defines functions tINVdwt

Documented in tINVdwt

tINVdwt <- function(tnsr){
  if (tnsr@num_modes != 3)
    stop("T-SVD only implemented for 3d so far")
  modes <- tnsr@modes
  n1 <- modes[1]
  n2 <- modes[2]
  n3 <- modes[3]
  if (n1 !=n2)
    stop("The inverse is only defined for square lateral faces")
  if (n1 !=n2)
    stop("The eigen value decomposition only works for tensors with square lateral faces")
  dwtz <- tDWT(tnsr)
  T_inv <- array(0, dim = c(n1, n2, n3))
  for (j in 1:n3) {
    T_inv[, , j] <- solve(dwtz[, , j]@data)
  }
  Tinv <- tIDWT(as.tensor(T_inv))
}

Try the rTensor2 package in your browser

Any scripts or data that you put into this service are public.

rTensor2 documentation built on Aug. 14, 2022, 9:05 a.m.