Return the t-SVDM decomposition from Kilmer et al. (2021).

tsvdm(
  x,
  m = NULL,
  minv = NULL,
  transform = TRUE,
  keep_hats = FALSE,
  svals_matrix_form = FALSE,
  bpparam = NULL
)

Arguments

x

Tensor input.

m

A function which applies an orthogonal tensor tubal transform.

minv

The inverse of m.

transform

Set to FALSE if the input is already in a m-transformed space, and you just want a facewise svd returned (this is used in tpls).

keep_hats

Set to TRUE if you do not want minv to be applied to the output (this is used in tpca), i.e. return outputs in the hat-space.

svals_matrix_form

Setting to TRUE will return a compressed version of the singular values tensor S, where the singular values of each f-diagonal frontal slice becomes the column of a matrix, with t columns in total.

bpparam

A BiocParallelParam-class object indicating the type of parallelisation. Does not have any effect if transform functions explicitly set using m, minv.

Value

A list containing:

u

Left m-product unitary tensor. If keep_hats = TRUE, the tensor is returned in the m-transform space without the inverse transform applied at the end, in this case, this return item is called uhat.

s

Singular values as a tensor with f-diagonal structure, or a compressed matrix of singular values of each tensor faceas columns when svals_matrix_form = TRUE (named shat when keep_hats = TRUE).

v

Right m-product unitary tensor. If keep_hats = TRUE, the tensor is returned in the m-transform space without the inverse transform applied at the end, in this case, this return item is called vhat.

Author

Brendan Lu