
This page is the home of my M.Sc. thesis, Big Data Learning with Tensor Representation, written at Tarbiat Modares University under the supervision of Dr. Mansoor Rezghi and defended in 2019. It is also the starting point for Tensor Notes, a series of short articles that explain the thesis in plain language.
The idea in one paragraph
Most learning methods flatten data into long vectors before they start. That breaks the structure of images, videos and signals, and it makes the data much larger than it needs to be. The thesis keeps data in its natural multi-dimensional form, as tensors, and learns from it directly. It builds on a tensor product based on the cosine transform, the tc-product, and a decomposition built on it, tc-SVD. The well-known t-SVD assumes that the data wraps around at the two ends of its third mode. tc-SVD uses a mirror (reflective) boundary instead, and the discrete cosine transform then keeps every computation in real numbers. A closely related cosine-transform product appears in Kernfeld, Kilmer and Aeron (2015); the thesis contributes the learning methods built on tc-SVD and their evaluation. In my experiments tc-SVD was faster than t-SVD in almost every comparison, often by a factor of two, with comparable accuracy.
Reading the t-SVD picture

t-SVD, annotated. Violet and cyan mark what a rank-k truncation keeps; the numbers are explained below.
Every shape in the picture means something specific:
- X is the data tensor, of size n1×n2×n3. The front face is its first frontal slice, and the faint lines behind it are the other slices along the third mode. When the thesis classifies images, each image is one lateral slice (n1×1×n3), so n2 is the number of samples.
- ∗ is the t-product, not ordinary matrix multiplication. Every symbol in the picture is a tensor, and each product works along the third mode.
- U (n1×n1×n3) is orthogonal: UT ∗ U is the identity tensor. Its lateral slices play the part of the left singular vectors, and the violet block is the first k of them, the basis that a truncated decomposition keeps.
- S (n1×n2×n3) is f-diagonal. Every frontal slice is a diagonal matrix, so the only non-zero entries are the tubes that run front to back along the diagonal. These singular tubes take the place of singular values. The first k (cyan) are kept and the grey ones are dropped.
- VT (n2×n2×n3) is the t-transpose of an orthogonal tensor V: transpose every frontal slice, then reverse the order of slices 2 to n3. Its first k horizontal slices (violet) are the t-transposes of the first k lateral slices of V. Read column by column and scaled by the singular tubes, they give each sample's coordinates in the kept basis.
- k is the truncation rank. Keeping only the coloured parts gives X ≈ Uk ∗ Sk ∗ VkT, the best Frobenius-norm approximation among tensors of tubal rank at most k.
- F3 is a transform along the third mode: the FFT for t-SVD, the DCT for tc-SVD. After it, each frontal slice is factored on its own by an ordinary SVD, X̂i = Ûi Ŝi V̂iH for i = 1, …, n3, with the same truncation in every slice. The inverse transform turns the stacked factors back into U, S and V.
What the thesis covers
- Tensor basics: modes, fibers and slices, unfolding and the mode-n product
- Existing decompositions: CP, Tucker (HOSVD) and t-SVD
- The tc-product and tc-SVD, and two ways to compress a tensor with them
- Classification of handwritten digits (MNIST) and faces (CBCL)
- Clustering of four image collections: ORL, PIE, Extended Yale B and COIL-100
- Telling early mild cognitive impairment apart from healthy controls using resting-state fMRI (ADNI data)
- An incremental tc-SVD for data that keeps arriving
Tensor Notes
I am publishing the thesis as five notes, one every Thursday from 1 October 2026, in English and in Persian:
- Stop Flattening Your Data
- An SVD for Tensors, and the t-Product Behind It
- tc-SVD, a Tensor SVD with a Mirror Boundary
- Classifying and Clustering Images with tc-SVD
- From Brain Scans to Streaming Data
Every published part is listed in the Tensor section of this site.
The series is also published in Persian, in the Persian notes section of this site.
Short answers
What is t-SVD?
t-SVD is a singular value decomposition for third-order tensors, introduced by Kilmer and Martin (2011). It writes a tensor as X = U ∗ S ∗ VT, where ∗ is the t-product, U and V are orthogonal tensors and S is f-diagonal. In practice you take an FFT along the third mode, compute an ordinary SVD of every frontal slice, and transform the factors back.
What is tc-SVD?
tc-SVD is the same construction with a cosine-transform product in place of the t-product. The periodic boundary hidden in the t-product is replaced by a reflective (mirror) boundary, so the DCT replaces the FFT and every computation stays in real numbers. It is the decomposition developed in my M.Sc. thesis; a closely related cosine-transform product appears in Kernfeld, Kilmer and Aeron (2015).
Is tc-SVD better than t-SVD?
In the thesis experiments it reached similar classification accuracy on MNIST and CBCL, gave better clusters on two face data sets (ORL and Extended Yale B), and was faster in almost every comparison, often by a factor of about two. On a small fMRI study of early Alzheimer's (early MCI against healthy controls) its best leave-one-out accuracy was 86.5% against 70.7% for t-SVD, a figure that was sensitive to k. On COIL-100, HOSVD and NMF clustered better than both.
When is a tensor decomposition better than a matrix SVD?
When the data has a natural multi-dimensional shape, such as image collections, video or readings from many sensors over time, and flattening it into vectors would separate values that belong together. Tensor methods keep that structure and give compact features for compression, classification and clustering.
Is there code?
Short, tested NumPy versions of the t-product, t-SVD and tc-SVD are in the Tensor Notes articles, and a MATLAB implementation with classification, clustering and incremental updates is at github.com/mahdipc/tcSVD.
Thesis details
Title: Big Data Learning with Tensor Representation
Author: Mahdi Molavi
Degree: M.Sc. in Computer Science, Tarbiat Modares University, Tehran
Supervisor: Dr. Mansoor Rezghi
Year: 2019
Keywords: tensor decomposition, t-SVD, tc-SVD, discrete cosine transform, big data, classification, clustering, streaming data
