Learn R Programming

rTensor2 (version 2.0.0)

tSVD: Tensor Singular Value Decomposition Using Any Discrete Transform

Description

Performs a tensor singular value decomposition on any 3-mode tensor using any discrete transform.

Usage

tSVD(tnsr,tform)

Value

a Tensor-class object

If the SVD is performed on a \(m\) x \(n\) x \(k\) tensor, the components in the returned value are:

U: The left singular value tensor object (\(m\) x \(m\) x \(k\))

V: The right singular value tensor object (\(n\) x \(n\) x \(k\))

S: A diagonal tensor (\(m\) x \(n\) x \(k\))

Arguments

tnsr

: a 3-mode tensor

tform

: Any discrete transform. Supported transforms are:

fft: Fast Fourier Transform

dwt: Discrete Wavelet Transform (Haar Wavelet)

dct: Discrete Cosine transform

dst: Discrete Sine transform

dht: Discrete Hadley transform

dwht: Discrete Walsh-Hadamard transform

Author

Kyle Caudle

Randy Hoover

Jackson Cates

References

Kernfeld, E., Kilmer, M., & Aeron, S. (2015). Tensor-tensor products with invertible linear transforms. Linear Algebra and its Applications, 485, 545-570.

M. E. Kilmer, C. D. Martin, and L. Perrone, “A third-order generalization of the matrix svd as a product of third-order tensors,” Tufts University, Department of Computer Science, Tech. Rep. TR-2008-4, 2008

K. Braman, "Third-order tensors as linear operators on a space of matrices", Linear Algebra and its Applications, vol. 433, no. 7, pp. 1241-1253, 2010.

Examples

Run this code
T <- rand_tensor(modes=c(2,3,4))
print(tSVD(T,"dst"))

Run the code above in your browser using DataLab