This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Denoising Convolution Algorithms and Applications
to SAR Signal Processing

Alina Chertock,  Chris Leonard,  Semyon Tsynkov,  Sergey Utyuzhnikov Department of Mathematics, North Carolina State University, Raleigh, NC, USA; chertock@math.ncsu.eduDepartment of Mathematics, North Carolina State University, Raleigh, NC, USA; cleonar@ncsu.eduCorresponding author. Department of Mathematics, North Carolina State University, Raleigh, NC, USA; tsynkov@math.ncsu.eduDepartment of Mechanical, Aerospace & Civil Engineering, University of Manchester, Manchester, UK; S.Utyuzhnikov@manchester.ac.uk
Abstract

Convolutions are one of the most important operations in signal processing. They often involve large arrays and require significant computing time. Moreover, in practice, the signal data to be processed by convolution may be corrupted by noise. In this paper, we introduce a new method for computing the convolutions in the quantized tensor train (QTT) format and removing noise from data using the QTT decomposition. We demonstrate the performance of our method using a common mathematical model for synthetic aperture radar (SAR) processing that involves a sinc kernel and present the entire cost of decomposing the original data array, computing the convolutions, and then reformatting the data back into full arrays.

1 Introduction

Convolution operations are used in different practical applications. They often involve large arrays of data and require optimization with respect to memory and computational cost. While input data are usually available only in a discrete form, the standard realization based on a vector-matrix representation is not often efficient since it leads to using sparse matrices. On the other hand, a tensor decomposition looks very attractive because it might reduce the volume of data very drastically, minimizing the number of zero elements. In addition, arithmetic operations between tensors can be implemented efficiently.

There are different forms of tensor decomposition. The most popular approach is based on the canonical decomposition [12] where a multidimensional array is represented (might be approximate) via a sum of outer products of vectors. For matrices, such decomposition is reduced to skeleton decomposition. However, it is known to be unstable in the cases of multiple tensor dimensions, also referred to as tensor modes. The Tucker decomposition [27] represents a natural stable generalization of the canonical decomposition and can provide a high compression rate. The main drawback of the Tucker decomposition is related to the so-called curse of dimensionality; that is, the algorithm’s complexity grows exponentially with the number of tensor modes. A way to overcome these difficulties is to use the Tensor Train (TT) decomposition, which was originally introduced in [23, 24]. Effectively, the TT decomposition represents a generalization of the classical SVD decomposition to the case of multiple modes. It can also be interpreted as a hierarchical Tucker decomposition [10].

Computing the TT decomposition fully can be very expensive if we use the standard TT-SVD algorithm given, e.g., by Algorithm 1 below. Therefore, many modifications to this algorithm were proposed in the literature to help speed it up. One such improvement was presented in [18], where results comparable to those obtained by the TT-SVD algorithm were produced in a fraction of the time for sparse tensor data. Another algorithm that uses the column space of the unfolding tensors was designed to compute the TT cores in parallel; see [26]. The most popular approach to efficiently compute the TT decomposition is based on using a randomized algorithm; see, e.g., [13, 1, 5].

Maximal compression with the TT decomposition can be reached with matrices whose dimensions are powers of two, as proposed in the so-called Quantized TT (QTT) algorithm [20]. As shown in [15], the convolution realized for multilevel Toeplitz matrices via QTT has a logarithmic complexity with respect to the number of elements in each mode, NN, and is proportional to the number of modes. It is proven that the result cannot be asymptotically improved. However, this algorithm is improved for finite and practically important N104N\sim 10^{4} in [25] thanks to the cross-convolution in the Fourier (image) space. The improvement is demonstrated for convolutions with three modes with Newton’s potential. It is to be noted that QTT can also be applied to the Fast Fourier Transform (FTT) to decrease its complexity, as shown in [3]. This super-fast FFT (QTT-FFT) beats the standard FFT for extremely large NN such as N260N\sim 2^{60} for one mode tensors and N220N\sim 2^{20} for tensors with three modes.

For practical applications, a critical issue is denoising. Real-life data, such as radar signals, are typically contaminated with noise. Denoising is not addressed in the papers we have cited previously. However, TT decomposition itself potentially has the property of denoising, owing to the SVD incorporated in the algorithm [4, 8]. In the current work, we propose and implement the low-rank modifications for the previously developed TT-SVD algorithm of [21]. These modifications speed up the computations. We also demonstrate the denoising capacity of numerical convolutions computed using the QTT decomposition. Specifically, we employ a common model for synthetic aperture radar (SAR) signal processing based on the convolution with a sinc imaging kernel (called the generalized ambiguity function) [6, Chapter 2] and show that when a convolution with this kernel is evaluated in the QTT format, the noise level in the resulting image is substantially reduced compared to that in the original data.

It should be observed that most papers on tensor convolution only consider the run time cost of the convolution after the tensor decomposition has been applied to the objective function and the kernel function and either ignores the cost of the actual tensor decompositions or puts it as a side note. In this paper, we consider every step of computing the convolution using the QTT-FFT algorithm, including the decomposition of the arrays into the QTT format using the TT-SVD algorithm (see Algorithm 1), computation of the QTT-FFT algorithm once in that format, and then extracting the data back after the computation is conducted (Section 5). As the QTT decomposition is computationally expensive, we consider several approaches to speed up the decomposition run time. Without these modifications to the TT-SVD decomposition algorithm, the convolution can take a long to compute and is not a practical approach. We provide more detail in section 7.1.

The methods we use to speed up our TT decompositions are based on truncating SVD ranks in the decomposition algorithm (Algorithm 1) and lead to a significant noise reduction in the data (Section 6). Thus, in Chapter 6, we present algorithms to compute convolutions in a reasonable time while significantly reducing the noise in the data at the same time. Our contribution includes developing and analyzing new approaches to speeding up the tensor train decomposition, see Section 5. In Section 6, we consider the effects of convolutions on removing noise in data. Finally, in Section 7, we show numerical examples and compare our results with other approaches to computing convolutions.

2 Convolution

The convolution operation is widely used in different applications in signal processing, data imaging, physics, and probability, to name a few. This operation is a way to combine two signals, usually represented as functions, and produce a third signal with meaningful information. The DD-dimensional convolution between two functions ff and gg is defined as

I(𝒙)=[fg](𝒙)=Df(𝒚)g(𝒙𝒚)𝑑𝒚,𝒙D.I(\bm{x})=[f*g](\bm{x})=\int_{\mathbb{R}^{D}}f(\bm{y})g(\bm{x}-\bm{y})\;d\bm{y},\quad\forall\bm{x}\in\mathbb{R}^{D}. (2.1)

Often to compute the convolution numerically, we assume the support of ff and gg, denoted supp(f)\text{\rm supp}(f) and supp(g)\text{\rm supp}(g) respectively, are compact. For simplicity, in this paper, we assume supp(f)=supp(g)=[L,L]D\text{\rm supp}(f)=\text{\rm supp}(g)=[-L,L]^{D} for some LL\in\mathbb{R}. Next, we discretize the domain [L,L]D[-L,L]^{D} uniformly into NDN^{D} points such that

𝒙𝒋=(xj1,,xjD),\displaystyle\bm{x}_{\bm{j}}=(x_{j_{1}},\ldots,x_{j_{D}}),
xjd=L+Δx2+jdΔx,jd=0,,N1,d=1,,D,\displaystyle x_{j_{d}}=-L+\frac{\Delta x}{2}+j_{d}\Delta x,\quad j_{d}=0,\ldots,N-1,\quad d=1,\ldots,D,

where Δx=2LN\Delta x=\frac{2L}{N} and 𝒋=(j1,,jD)\bm{j}=(j_{1},\ldots,j_{D}). We then let 𝒇\bm{f} and 𝒈\bm{g} be DD-dimensional arrays such that

𝒇𝒋=f(𝒙𝒋),𝒈𝒋=g(𝒙𝒋)\bm{f}_{\bm{j}}=f(\bm{x}_{\bm{j}}),\quad\bm{g}_{\bm{j}}=g(\bm{x}_{\bm{j}})

for all 𝒋\bm{j}. This leads to the discrete convolution 𝑰\bm{I} such that

𝑰𝒋(Δx)D𝒊𝒇𝒊𝒈𝒋𝒊+(N21)𝟏I(𝒙𝒋),\bm{I}_{\bm{j}}\coloneqq(\Delta x)^{D}\sum_{\bm{i}}\bm{f}_{\bm{i}}\bm{g}_{\bm{j}-\bm{i}+(\frac{N}{2}-1)\bm{1}}\approx I(\bm{x}_{\bm{j}}), (2.2)

where 𝟏=(1,,1)\bm{1}=(1,\ldots,1) and the sums are over all indices 𝒊=(i1,,iD)\bm{i}=(i_{1},\ldots,i_{D}) that lead to legal subscripts. This Riemann sum approximation (2.2) to the integral (2.1) uses the midpoint rule, thus having 𝒪(Δx2)\mathcal{O}(\Delta x^{2}) accuracy.

Remark 2.1.

The convolution defined in (2.2) is equivalent to Matlab’s convn function with the optional shape input set to ’same’ and then multiplied by (Δx)D(\Delta x)^{D}.

To compute this convolution directly takes 𝒪(N2D)\mathcal{O}(N^{2D}) operations, but it can be reduced to 𝒪(NDlog(ND))\mathcal{O}(N^{D}\log(N^{D})) by using the fast Fourier transform (FFT) and the discrete convolution theorem. The FFT algorithm is an efficient algorithm used to compute the DD-dimensional discrete Fourier transforms (DFT) of 𝓥N××N\bm{\mathcal{V}}\in\mathbb{R}^{N\times\ldots\times N},

𝓥^𝜶DFT(𝓥)=𝒋=𝟎𝑵𝟏𝓥𝒋ωN𝒋𝜶\hat{\bm{\mathcal{V}}}_{\bm{\alpha}}\coloneqq DFT(\bm{\mathcal{V}})=\sum_{\bm{j}=\bm{0}}^{\bm{N}-\bm{1}}\bm{\mathcal{V}}_{\bm{j}}\omega_{N}^{\bm{j}\cdot\bm{\alpha}}

where the sum is over the multi-indexed array 𝒋\bm{j},

𝜶=(α1,,αD),αd=0,,N1,d=1,,D,\displaystyle\bm{\alpha}=(\alpha_{1},\ldots,\alpha_{D}),\quad\alpha_{d}=0,\ldots,N-1,\quad d=1,\ldots,D,
𝑵=(N,,N),𝟎=(0,,0),\displaystyle\bm{N}=(N,\ldots,N),\quad\bm{0}=(0,\ldots,0),

and ωN=e2πı^N\omega_{N}=e^{-\frac{2\pi\hat{\imath}}{N}}, where ı^=1\hat{\imath}=\sqrt{-1} is the imaginary unit. Similarly, the DD-dimensional inverse discrete Fourier transform (IDFT), such that

𝓥=IDFT(DFT(𝓥)),\bm{\mathcal{V}}=IDFT(DFT(\bm{\mathcal{V}})),

of the array 𝓥^N××N\hat{\bm{\mathcal{V}}}\in\mathbb{R}^{N\times\ldots\times N} is given by

𝓥𝒋=1ND𝜶=𝟎𝑵𝟏𝓥^𝜶ωN𝒋𝜶.\bm{\mathcal{V}}_{\bm{j}}=\frac{1}{N^{D}}\sum_{\bm{\alpha}=\bm{0}}^{\bm{N}-\bm{1}}\hat{\bm{\mathcal{V}}}_{\bm{\alpha}}\omega_{N}^{-\bm{j}\cdot\bm{\alpha}}.

Using the discrete Fourier transform, we can compute the circular convolution 𝑰c=(𝓥𝓦)\bm{I}^{c}=(\bm{\mathcal{V}}\circledast\bm{\mathcal{W}}) defined as

𝑰𝒋c=𝒊=𝟎𝑵𝟏𝓥𝒊𝓦¯𝒋𝒊\displaystyle\bm{I}^{c}_{\bm{j}}=\sum_{\bm{i}=\bm{0}}^{\bm{N}-\bm{1}}\bm{\mathcal{V}}_{\bm{i}}\bar{\bm{\mathcal{W}}}_{\bm{j}-\bm{i}}
𝓦¯i1,,iD=𝓦j1,,jD,idjd mod(N),d=1,,D,\displaystyle\bar{\bm{\mathcal{W}}}_{i_{1},\ldots,i_{D}}=\bm{\mathcal{W}}_{j_{1},\ldots,j_{D}},\quad i_{d}\equiv j_{d}\text{ mod($N$)},\quad d=1,\ldots,D,

by taking the DFT of 𝓦\bm{\mathcal{W}} and 𝓥\bm{\mathcal{V}}, multiplying the results together, and then taking the IDFT of the given result. Thus, we have

𝑰c=IDFT(DFT(𝓦)DFT(𝓥))\bm{I}^{c}=IDFT(DFT(\bm{\mathcal{W}})\odot DFT(\bm{\mathcal{V}}))

where \odot is Hadamard product (element-wise product) of DD-dimensional arrays. The circular convolution is the same as the convolution of two periodic functions (up to a constant scaling), thus to obtain the convolution given in (2.2) (also known as a linear convolution), we need to pad the vectors 𝒇\bm{f} and 𝒈\bm{g} with at least N1N-1 zeros in each dimension. For example, given the vectors 𝒇0,𝒈02N1\bm{f}^{0},\bm{g}^{0}\in\mathbb{R}^{2N-1} with

𝒇j0={𝒇j0jN10j>N1, and 𝒈j0={𝒈j0jN10j>N1,\displaystyle\bm{f}^{0}_{j}=\begin{cases}\bm{f}_{j}&0\leq j\leq N-1\\ 0&j>N-1\end{cases},\quad\text{ and }\quad\bm{g}^{0}_{j}=\begin{cases}\bm{g}_{j}&0\leq j\leq N-1\\ 0&j>N-1\end{cases},

and 𝑰c=(𝒇0𝒈0)\bm{I}^{c}=(\bm{f}^{0}\circledast\bm{g}^{0}) as the circular convolution between them, the linear convolution 𝑰\bm{I} in (2.2) is given by

𝑰j=Δx𝑰j+N12c,j=0,,N1.\bm{I}_{j}=\Delta x\bm{I}^{c}_{j+\frac{N-1}{2}},\quad j=0,\ldots,N-1.

In this paper, we let gg be a predefined kernel, such as the SAR generalized ambiguity function (GAF) (see Section 3 and [6, Chapter 2] for detail) and ff be a smooth gradually varying function contaminated with white noise. To compute the convolution, we use the QTT decomposition [16] and the QTT-FFT algorithm [3]. The QTT decomposition is a particular case of the more general TT decomposition (see Section 4 and [21] for detail).

3 Synthetic aperture radar (SAR)

SAR is a coherent remote sensing technology capable of producing two-dimensional images of the Earth’s surface from overhead platforms (airborne or spaceborne). SAR illuminates the chosen area on the surface of the Earth with microwaves (specially modulated pulses) and generates the image by digitally processing the returns (i.e., reflected signals). SAR processing involves the application of the matched filter and summation along the synthetic array, which is a collection of successive locations of the SAR antenna along the flight path. Matched filtering yields the image in the direction normal to the platform flight trajectory or orbit (called cross-track or range), while summation along the array yields the image in the direction parallel to the trajectory or orbit (along-the-track or azimuth).

Mathematically, each of the two signal processing stages can be interpreted as the convolution of the signal received by the SAR antenna with a known function. Equivalently, it can be represented as a convolution of the ground reflectivity function, which is the unknown quantity that SAR aims to reconstruct the imaging kernel or generalized ambiguity function. The advantage of this equivalent representation is that it leads to a very convenient partition: the GAF depends on the imaging system’s characteristics, whereas the target’s properties determine the ground reflectivity function. Moreover, image representation via GAF allows one to see clearly how signal compression (a property that pertains to SAR interrogating waveforms) enables SAR resolution, i.e., the capacity of the sensor to distinguish between closely located targets.

In the simplest possible imaging scenario, when the propagation of radar signals between the antenna and the target is assumed unobstructed, and several additional assumptions also hold; the GAF in either range or azimuthal direction is given by the sinc (or spherical Bessel) function:

g(x)=Asinc(πxΔx)Asin(πxΔx)πxΔx,g(x)=A\,\text{sinc}\left(\pi\frac{x}{\Delta_{x}}\right)\equiv A\frac{\sin\left(\pi\frac{x}{\Delta_{x}}\right)}{\pi\frac{x}{\Delta_{x}}}, (3.1)

where the constant AA is determined by normalization, xx denotes a given direction, and the quantity Δx\Delta_{x} is the resolution in this direction. From the formula (3.1), we see that the resolution is defined as half-width of the sinc main lobe, i.e., the distance from is central maximum to the first zero. When xx is the range direction (cross-track), the resolution Δx\Delta_{x} is inversely proportional to the SAR signal bandwidth, see [6, Section 2.4.4]. When xx is the azimuthal direction (along-the-track), the resolution is inversely proportional to the length of the synthetic array, i.e., synthetic aperture, see [6, Section 2.4.3]. Note that lower values of Δx\Delta_{x} correspond to better resolution because SAR can tell between the targets located closer to one another. It can also be shown that as Δx0\Delta_{x}\to 0 the GAF given by (3.1) converges to the δ\delta-function in the sense of distributions [7, Section 3.3]. In this case, the image, which is a convolution of the ground reflectivity with the GAF, coincides with ground reflectivity. This would be ideal because the image would reconstruct the unknown ground reflectivity exactly. This situation, however, is never realized in practice because having Δx0\Delta_{x}\to 0 requires either the SAR bandwidth (range direction) or synthetic aperture (azimuthal direction) to become infinitely large, which is not possible.

The literature on SAR imaging is vast. Among the more mathematical sources, we mention the monographs [2], and [6].

4 Tensor Train Decomposition

Consider the KK-mode, tensor 𝓐M1××MK\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K}} such that

𝓐=a(i1,,iK),ik=0,,Mk1,k=1,,K,\bm{\mathcal{A}}=a(i_{1},\ldots,i_{K}),\quad i_{k}=0,\ldots,M_{k}-1,\quad k=1,\ldots,K,

where MkM_{k} is the size of each mode, and a(i1,,iK)a(i_{1},\ldots,i_{K})\in\mathbb{C} are the elements of the tensor 𝓐\bm{\mathcal{A}} for all ik=0,,Mk1i_{k}=0,\ldots,M_{k}-1 and k=1,,Kk=1,\ldots,K. The tensor train format of 𝓐\bm{\mathcal{A}} decomposes the tensor into KK cores 𝓐(k)rk1×Mk×rk\bm{\mathcal{A}}^{(k)}\in\mathbb{C}^{r_{k-1}\times M_{k}\times r_{k}} such that

a(i1,,iK)=𝑨i1(1)𝑨i2(2)𝑨iK(K),a(i_{1},\ldots,i_{K})=\bm{A}^{(1)}_{i_{1}}\bm{A}^{(2)}_{i_{2}}\cdots\bm{A}^{(K)}_{i_{K}},

where the matrices 𝓐(k)(:,ik,:)=𝑨ik(k)rk1×rk,\bm{\mathcal{A}}^{(k)}(:,i_{k},:)=\bm{A}^{(k)}_{i_{k}}\in\mathbb{C}^{r_{k-1}\times r_{k}}, for all ik=0,,Mk1i_{k}=0,\ldots,M_{k}-1, k=1,,Kk=1,\ldots,K (In Matlab notation, 𝑨ik(k)=squeeze(𝓐(k)(:,ik,:))\bm{A}^{(k)}_{i_{k}}=\text{squeeze}(\bm{\mathcal{A}}^{(k)}(:,i_{k},:)), where squeez() is used to convert the rk1×1×rk\mathbb{C}^{r_{k-1}\times 1\times r_{k}} tensor into a rk1×rk\mathbb{C}^{r_{k-1}\times r_{k}} matrix). The matrix dimensions rkr_{k}, k=1,,Kk=1,\ldots,K, are referred to as the TT-ranks of the tensor decomposition, and the 33-mode tensors 𝓐(k)\bm{\mathcal{A}}^{(k)} are the TT-cores. Since we are interested in the case when a(i1,,iK)a(i_{1},\ldots,i_{K})\in\mathbb{C}, we impose the condition r0=rK=1r_{0}=r_{K}=1. Let M=max1kKMkM=\max_{1\leq k\leq K}M_{k} and r=max1kK1rkr=\max_{1\leq k\leq K-1}r_{k}, then the the tensor 𝓐\bm{\mathcal{A}}, which has 𝒪(MK)\mathcal{O}(M^{K}) elements, can be represented with 𝒪(MKr2)\mathcal{O}(MKr^{2}) elements in the TT format.

We can also represent the TT decomposition as the product of tensor contraction operators. Define the tensor contraction between the tensors 𝓐M1××MK\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K}} and 𝓑MK××MK~\bm{\mathcal{B}}\in\mathbb{C}^{M_{K}\times\ldots\times M_{\tilde{K}}} (note that the first dimension size of 𝓑\bm{\mathcal{B}} equals the last dimension size of 𝓐\bm{\mathcal{A}}) as 𝓒=𝓐𝓑M1××MK1×MK+1××MK~\bm{\mathcal{C}}=\bm{\mathcal{A}}\circ\bm{\mathcal{B}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K-1}\times M_{K+1}\times\ldots\times M_{\tilde{K}}} where

𝓒(i1,,iK1,iK+1,,iK~)=p=0MK1𝓐(i1,,p)𝓑(p,,iK~).\bm{\mathcal{C}}(i_{1},\ldots,i_{K-1},i_{K+1},\ldots,i_{\tilde{K}})=\sum_{p=0}^{M_{K}-1}\bm{\mathcal{A}}(i_{1},\ldots,p)\bm{\mathcal{B}}(p,\ldots,i_{\tilde{K}}).

Then the TT format of 𝓐\bm{\mathcal{A}} can be represented as

𝓐=𝓐(1)𝓐(K).\bm{\mathcal{A}}=\bm{\mathcal{A}}^{(1)}\circ\ldots\circ\bm{\mathcal{A}}^{(K)}.

Before we show how to find the TT-cores, we first need to define a few properties of tensors. First, let the matrix 𝑨{k}\bm{A}^{\{k\}} be the kk-th unfolding of the tensor 𝓐\bm{\mathcal{A}} such that

𝑨{k}(α,β)\displaystyle\bm{A}^{\{k\}}(\alpha,\beta) =a(i1,,iK),\displaystyle=a(i_{1},\ldots,i_{K}),
α=i1+i2M1++ikΠl=1k1Ml,\displaystyle\alpha=i_{1}+i_{2}M_{1}+\ldots+i_{k}\Pi_{l=1}^{k-1}M_{l}, β=ik+1+ik+2Mk+1++iKΠl=k+1K1Ml.\displaystyle\quad\beta=i_{k+1}+i_{k+2}M_{k+1}+\ldots+i_{K}\Pi_{l=k+1}^{K-1}M_{l}.

Thus, we have that 𝑨{k}M1M2Mk×Mk+1Mk+2MK\bm{A}^{\{k\}}\in\mathbb{C}^{M_{1}M_{2}\ldots M_{k}\times M_{k+1}M_{k+2}\ldots M_{K}} which we write as

𝑨{k}=a(i1ik,ik+1iK).\bm{A}^{\{k\}}=a(i_{1}\ldots i_{k},i_{k+1}\ldots i_{K}).

We denote the process of unfolding a tensor 𝓐\bm{\mathcal{A}} into a matrix 𝑨{k}M1M2Mk×Mk+1Mk+2MK\bm{A}^{\{k\}}\in\mathbb{C}^{M_{1}M_{2}\ldots M_{k}\times M_{k+1}M_{k+2}\ldots M_{K}} as

𝑨{k}=reshape(𝓐,[M1M2Mk,Mk+1Mk+2MK])\bm{A}^{\{k\}}=\text{reshape}(\bm{\mathcal{A}},[M_{1}M_{2}\ldots M_{k},M_{k+1}M_{k+2}\ldots M_{K}])

and folding a matrix into a tensor 𝓐M1××MK\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K}} as

𝓐=reshape(𝑨{k},[M1,M2,,MK]).\bm{\mathcal{A}}=\text{reshape}(\bm{A}^{\{k\}},[M_{1},M_{2},\ldots,M_{K}]).

(Note this is to be consistent with the Matlab function reshape()).

From [21] it can be shown that there exist a TT-decomposition of 𝓐\bm{\mathcal{A}} such that

rk=rank(A{k}),k=1,,K.r_{k}=\text{rank}(A^{\{k\}}),\quad k=1,\ldots,K.

Denote the Frobenius norm of a tensor 𝓐M1××MK\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K}} as

𝓐F=i1=0M11iK=0MK1|a(i1,,iK)|2,\|\bm{\mathcal{A}}\|_{F}=\sqrt{\sum_{i_{1}=0}^{M_{1}-1}\ldots\sum_{i_{K}=0}^{M_{K}-1}|a(i_{1},\ldots,i_{K})|^{2}},

and the εk\varepsilon_{k}-rank of the matrix 𝑨{k}\bm{A}^{\{k\}} as

rankεk(𝑨{k})min{rank(𝑩):𝑨{k}𝑩Fεk}.\text{rank}_{\varepsilon_{k}}(\bm{A}^{\{k\}})\coloneqq\min\{\text{rank}(\bm{B}):\|\bm{A}^{\{k\}}-\bm{B}\|_{F}\leq\varepsilon_{k}\}.

Given a set {εk}k=1K\{\varepsilon_{k}\}_{k=1}^{K}, we can approximate the tensor 𝓐\bm{\mathcal{A}} with a tensor 𝓐~\tilde{\bm{\mathcal{A}}} in the TT format such that it has TT- ranks r~k rankεk(𝑨{k})\tilde{r}_{k}\leq\text{ rank}_{\varepsilon_{k}}(\bm{A}^{\{k\}}) and

𝓐𝓐~Fε,ε2=ε12++εK12.\|\bm{\mathcal{A}}-\tilde{\bm{\mathcal{A}}}\|_{F}\leq\varepsilon,\quad\varepsilon^{2}=\varepsilon_{1}^{2}+\ldots+\varepsilon_{K-1}^{2}.

In Algorithm 1, we present the TT-SVD algorithm [21], which computes a TT-decomposition of a tensor 𝓐\bm{\mathcal{A}} with a prescribed accuracy ε\varepsilon. In Section 5, we present some modifications to this algorithm that relax the prescribed tolerance and allow us to compute an approximate decomposition faster. For a tensor 𝓐M1××MK\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{K}}, define

|𝓐|=number of elements in 𝓐=M1M2MK.|\bm{\mathcal{A}}|=\text{number of elements in }\bm{\mathcal{A}}=M_{1}M_{2}\ldots M_{K}.
input : 𝓐\bm{\mathcal{A}}, ε\varepsilon
output  : TT-Cores: 𝓐(1),𝓐(2),,𝓐(K)\bm{\mathcal{A}}^{(1)},\bm{\mathcal{A}}^{(2)},...,\bm{\mathcal{A}}^{(K)}
τεM1𝓐F\tau\coloneqq\frac{\varepsilon}{\sqrt{M-1}}\|\bm{\mathcal{A}}\|_{F}
r01r_{0}\coloneqq 1;
for k=1,…,K-1 do
       𝑨{k}reshape(𝓐,[Mkrk1,|𝓐|Mkrk1])\bm{A}^{\{k\}}\coloneqq\text{reshape}(\bm{\mathcal{A}},[M_{k}r_{k-1},\frac{|\bm{\mathcal{A}}|}{M_{k}r_{k-1}}])
       Compute truncated SVD: 𝑼𝚺𝑽+𝑬=𝑨{k}\bm{U}\bm{\Sigma}\bm{V}^{*}+\bm{E}=\bm{A}^{\{k\}} such that 𝑬Fτ\|\bm{E}\|_{F}\leq\tau
       rkrank(𝚺)=rankτ(𝑨{k})r_{k}\coloneqq\text{rank}(\bm{\Sigma})=\text{rank}_{\tau}(\bm{A}^{\{k\}})
       𝓐(k)reshape(𝑼,[rk1,Mk,rk])\bm{\mathcal{A}}^{(k)}\coloneqq\text{reshape}(\bm{U},[r_{k-1},M_{k},r_{k}])
       𝓐𝚺𝑽\bm{\mathcal{A}}\coloneqq\bm{\Sigma}\bm{V}^{*}
      
end for
𝓐(K)𝓐\bm{\mathcal{A}}^{(K)}\coloneqq\bm{\mathcal{A}}
Algorithm 1 TT-SVD

The TT-decomposition can also be applied to tensors with a small number of modes by using the quantized tensor train decomposition (QTT). For instance, let 𝒗2K\bm{v}\in\mathbb{C}^{2^{K}} be a vector (11-mode tensor). To apply the QTT-decomposition of 𝒗\bm{v}, we reshape it into the KK-mode tensor 𝓥2××2\bm{\mathcal{V}}\in\mathbb{C}^{2\times\ldots\times 2} such that

𝓥(i1,i2,,iK)=𝒗(i),\bm{\mathcal{V}}(i_{1},i_{2},\ldots,i_{K})=\bm{v}(i),

where

i=k=1Kik2k1,ik=0,1,i=\sum_{k=1}^{K}i_{k}2^{k-1},\quad i_{k}=0,1,

then compute the TT-decomposition of the tensor 𝓥\bm{\mathcal{V}} (you can think of iKi1i_{K}\ldots i_{1} as the binary representation of ii). Extending the QTT-decomposition to matrices (22-mode tensors) 𝑽2K×2K\bm{V}\in\mathbb{C}^{2^{K}\times 2^{K}} can be done similarly by reshaping them into 2K2K-mode tensors 𝓥2××2\bm{\mathcal{V}}\in\mathbb{C}^{2\times\ldots\times 2}, then computing the TT-decomposition of 𝓥\bm{\mathcal{V}}.

We can approximate the discrete Fourier transform of a vector 𝒗2K\bm{v}\in\mathbb{R}^{2^{K}} (or 2D discrete Fourier transform of a matrix 𝑽2K×2K\bm{V}\in\mathbb{R}^{2^{K}\times 2^{K}}) in the QTT format using what is known as the QTT-FFT approximation algorithm [3]. Let 𝒗^=DFT(𝒗)\hat{\bm{v}}=DFT(\bm{v}) be the discrete Fourier transform of 𝒗\bm{v} and let 𝓥\bm{\mathcal{V}} and 𝓥^\hat{\bm{\mathcal{V}}} be the tensors in the QTT-format that represent the vectors 𝒗\bm{v} and 𝒗^\hat{\bm{v}} respectively. Given 𝓥\bm{\mathcal{V}}, the QTT- FFT approximation algorithm can approximate 𝓥^\hat{\bm{\mathcal{V}}} with a tensor 𝓥~\tilde{\bm{\mathcal{V}}} such that

𝓥~𝓥^Fε\|\tilde{\bm{\mathcal{V}}}-\hat{\bm{\mathcal{V}}}\|_{F}\leq\varepsilon (4.1)

for some given tolerance ε\varepsilon. Similarly, we could prescribe some maximum TT-rank, R^max\hat{R}_{\max}, for the QTT-FFT algorithm such that r~kR^max\tilde{r}_{k}\leq\hat{R}_{\max} for all TT-ranks of 𝓥~\tilde{\bm{\mathcal{V}}}, {r~k}k=0K\{\tilde{r}_{k}\}_{k=0}^{K}. The QTT-FFT algorithm can easily be modified to the inverse Fourier transform of a vector (or matrix) in the QTT format, which we denote as the QTT-iFFT algorithm.

5 Computing the convolution with QTT decomposition

In practice, we often need to compute the convolution (2.1), where ff is the function of interest and gg is a given kernel, but ff is not given explicitly. Instead, we are given noisy data

(𝒇ξ)𝒋=f(𝒙𝒋)+ξ𝒋(\bm{f}_{\xi})_{\bm{j}}=f(\bm{x}_{\bm{j}})+\xi_{\bm{j}} (5.1)

at discrete points 𝒙𝒋\bm{x}_{\bm{j}}, 𝒋=(j1,,jD){\bm{j}}=(j_{1},\ldots,j_{D}). In particular, representing the ground reflectivity function for SAR reconstruction in the form (5.1) helps one model the noise in the received data. We assume that ξ𝒋\xi_{\bm{j}} is white noise from a normal distribution with the standard deviation σ\sigma, i.e., ξ𝒋𝒩(0,σ2)\xi_{\bm{j}}\sim\mathcal{N}(0,\sigma^{2}).

Since the kernel function gg is known, we can discretize it as

𝒈𝒋=g(𝒙𝒋),\bm{g}_{\bm{j}}=g(\bm{x}_{\bm{j}}),

for the same 𝒙𝒋\bm{x}_{\bm{j}} values as in (5.1). We assume the DD-dimensional spatial domain is uniformly discretized into NDN^{D} points where N=2K11N=2^{K-1}-1, see (2). To compute the discrete convolution (2.2), we propose using the quantized tensor train (QTT) decomposition. To represent the arrays in the QTT format, we pad them with zeros such that the new arrays are DD-mode tensors in 2K××2K\mathbb{R}^{2^{K}\times\ldots\times 2^{K}}. We can relax the condition on the size NN, but to compute the convolution with an FFT algorithm, we need to zero-pad each dimension with at least N1N-1 extra zeros (see Section 2). Also, for the QTT decomposition, we need each dimension to be of size 2K2^{K} for some KK\in\mathbb{N}. Let 𝓕ξ,𝓖\bm{\mathcal{F}}_{\xi},\bm{\mathcal{G}} be the zero-padded tensors representing 𝒇ξ\bm{f}_{\xi} and 𝒈\bm{g} respectively in the QTT format. Here, we assume that the discretization of ff, 𝒇\bm{f}, has a low, but not exactly known, TT-rank in the QTT-format. This is motivated by the fact that many standard piecewise smooth functions naturally have a low TT-rank, see [22, 9, 16].

To find approximations of these tensors in the TT-format, we modify the original TT-SVD algorithm. This is because with the full TT-SVD algorithm, if the tolerance ε\varepsilon is small, see equation (4.1), the TT-decomposition has close to full rank. Not only does it take a very long time to compute these decompositions, but most of the noise is still present. However, if ε\varepsilon is too large, the TT-SVD algorithm loses too much information about the true function ff. For these reasons, we present slight modifications to the TT-SVD algorithm. They are needed to significantly reduce the computing time, as illustrated by the example in Section 7.1.

We consider three different modifications to the TT-SVD algorithm. These modifications are as follows:

  1. (1)

    Set some max rank RmaxR_{\max} and truncate the SVD in Algorithm 1 with ranks less than or equal to this threshold. Denote this method as the max rank TT-SVD algorithm.

  2. (2)

    Set some max rank RmaxR_{\max} and replace the SVD in Algorithm 1 with a randomized SVD (RSVD) given in [11] with max ranks set to RmaxR_{\max} (see Appendix A). Denote this method as the max rank TT-RSVD algorithm. Note that for this algorithm, we also need to prescribe an oversampling parameter pp. We could choose from several randomized SVD algorithms, but due to simplicity and effectiveness, we use the approach described in Appendix A. This algorithm implements the direct SVD.

  3. (3)

    Truncate the SVD in Algorithm 1 based on when there is a relative drop in singular values, i.e., if σk+1σk<δ(0<δ<1)\frac{\sigma_{k+1}}{\sigma_{k}}<\delta~{}~{}(0<\delta<1) for a given threshold δ\delta, then truncate the singular values less than σk\sigma_{k}. Denote this method as the SV drop off TT-SVD algorithm.

For the max rank TT-RSVD, if the unfolding matrices 𝑨{k}mk×nk\bm{A}^{\{k\}}\in\mathbb{R}^{m_{k}\times n_{k}}, where min(mk,nk)Rmax+p\min(m_{k},n_{k})\leq R_{\max}+p, then we revert to the max rank TT-SVD algorithm (without the randomized SVD).

We can modify the QTT-FFT and QTT-iFFT algorithms similarly to our modifications of the TT-SVD algorithms to get a low-rank approximation to the discrete Fourier transform representations of 𝓕ξ\bm{\mathcal{F}}_{\xi} and 𝓖\bm{\mathcal{G}}. For this, we replace the SVD in the QTT-FFT algorithm (QTT-iFFT) with the truncated SVD algorithms (1)-(3) given above, but with possibly a different max rank which we denote R^max\hat{R}_{max} for (1) and (2), or different threshold δ^\hat{\delta} for (3). For the examples in Section 7, we distinguish between RmaxR_{max} and R^max\hat{R}_{max}. However, we use the same threshold for δ\delta in the TT-SVD algorithm and the QTT-FFT algorithm. Thus, we do not distinguish between the two. Note that using the threshold (1) in the QTT-FFT algorithm is not new and is mentioned in [3].

With these above modifications to the TT-SVD algorithm and QTT-FFT (QTT-iFFT) algorithms, we propose the following algorithm (Algorithm 2) to approximate the convolution between the DD-dimensional arrays 𝒇\bm{f} and 𝒈\bm{g}. For this algorithm, we denote

  • QFFTR^max(δ^)QFFT_{\hat{R}_{\max}(\hat{\delta})}: QTT-FFT algorithm with a max rank of R^max{\hat{R}_{\max}} (or threshold δ^\hat{\delta}),

  • QiFFTR^max(δ^)QiFFT_{\hat{R}_{\max}(\hat{\delta})}: QTT-iFFT algorithm with a max rank of R^max{\hat{R}_{\max}} (or threshold δ^\hat{\delta}).

input : 𝒇ξ\bm{f}_{\xi}, 𝒈\bm{g}
output  :  𝑰\bm{I}
Step 1: 𝓕ξ\bm{\mathcal{F}}_{\xi} = reshape(𝒇ξ,[2,,2])\text{reshape}(\bm{f}_{\xi},[2,\ldots,2]), 𝓖\bm{\mathcal{G}} = reshape(𝒈,[2,,2])\text{reshape}(\bm{g},[2,\ldots,2])
Step 2: Decompose 𝓕ξ\bm{\mathcal{F}}_{\xi} and 𝓖\bm{\mathcal{G}} into the QTT format using one of the modified TT-SVD algorithms.
Step 3: 𝓘=QiFFTR^max(δ^)(QFFTR^max(δ^)(𝓕ξ)QFFTR^max(δ^)(𝓖))\bm{\mathcal{I}}=QiFFT_{\hat{R}_{max}(\hat{\delta})}(QFFT_{\hat{R}_{max}(\hat{\delta})}(\bm{\mathcal{F}}_{\xi})\odot QFFT_{\hat{R}_{max}(\hat{\delta})}(\bm{\mathcal{G}})).
Step 4: Retrieve 𝑰\bm{I} from 𝓘\bm{\mathcal{I}}. (see Algorithm 3)
Algorithm 2 QTT convolution

In Theorem 5.2, we show the asymptotic run time behavior of computing a convolution in one spatial dimension (D=1D=1) with the max rank TT-SVD algorithm. First, we prove an auxiliary result about the size of the unfolding matrices for this algorithm; see Lemma 5.1. For Theorem 5.2, we consider the whole process of converting the vector into the QTT-format, computing the convolution, then converting the convolution in the QTT format back into a vector, as is demonstrated in Algorithm 2. For the last step, to convert a tensor in the TT-format back into the standard format, we use the ’full’ algorithm from the Matlab toolbox oseledets/TT-Toolbox. This is given in Algorithm 3. We then reshape this tensor into a vector with a bit of run time.

input : 𝓐(1),𝓐(2),,𝓐(K)\bm{\mathcal{A}}^{(1)},\bm{\mathcal{A}}^{(2)},...,\bm{\mathcal{A}}^{(K)}, and size of output tensor [M1,,MkM_{1},\ldots,M_{k}]
output  : 𝓐M1××Mk\bm{\mathcal{A}}\in\mathbb{C}^{M_{1}\times\ldots\times M_{k}}
Let 𝑨=𝓐(1)\bm{A}=\bm{\mathcal{A}}^{(1)}
for k=2,…,K do
       𝑨=reshape(𝑨,[(|𝑨|)rk1,rk1])\bm{A}=\text{reshape}(\bm{A},[\frac{(|\bm{A}|)}{r_{k-1}},r_{k-1}])
       𝑩=reshape(𝓐(k),[rk1,2rk])\bm{B}=\text{reshape}(\bm{\mathcal{A}}^{(k)},[r_{k-1},2r_{k}])
       𝑨=𝑨𝑩\bm{A}=\bm{A}\bm{B}
      
end for
𝓐=reshape(𝑨,[M1,,Mk])\bm{\mathcal{A}}=\text{reshape}(\bm{A},[M_{1},\ldots,M_{k}])
Algorithm 3 Full
Lemma 5.1.

Let 𝓐2××2\bm{\mathcal{A}}\in\mathbb{R}^{2\times\ldots\times 2} be a KK-mode tensor. Let {𝐀{k}}k=1K1\{\bm{A}^{\{k\}}\}_{k=1}^{K-1} be the unfolding matrices of 𝓐\bm{\mathcal{A}} in the max rank TT-SVD algorithm with a max rank of RmaxR_{\max} and with each 𝐀{k}mk×nk\bm{A}^{\{k\}}\in\mathbb{C}^{m_{k}\times n_{k}}. Then

mk=2rk12Rmaxandnk=2Kk.m_{k}=2r_{k-1}\leq 2R_{\max}\quad\text{and}\quad n_{k}=2^{K-k}.
Proof.

Since Mk=2M_{k}=2 for all kk, the proof for mk=2rk12Rmaxm_{k}=2r_{k-1}\leq 2R_{\max} is trivial by the first line inside the for loop in Algorithm 1. For nkn_{k}, we do a proof by induction. First, note that |𝑨{1}|=2K|\bm{A}^{\{1\}}|=2^{K} and r0=1r_{0}=1, thus

n1=|𝑨{1}|2r0=2K2=2K1.n_{1}=\frac{|\bm{A}^{\{1\}}|}{2r_{0}}=\frac{2^{K}}{2}=2^{K-1}.

Assume n=2Kn_{\ell}=2^{K-\ell} for all 1k11\leq\ell\leq k-1. Then,

nk=|𝑨{k}|2rk1=|𝚺k1𝑽k1|2rk1=rk1nk12rk1=nk12=2K(k1)2=2Kk.n_{k}=\frac{|\bm{A}^{\{k\}}|}{2r_{k-1}}=\frac{|\bm{\Sigma}_{k-1}\bm{V}_{k-1}^{*}|}{2r_{k-1}}=\frac{r_{k-1}n_{k-1}}{2r_{k-1}}=\frac{n_{k-1}}{2}=\frac{2^{K-(k-1)}}{2}=2^{K-k}.

Thus, we get

mk=2rk12Rmaxandnk=2Kk.m_{k}=2r_{k-1}\leq 2R_{\max}\quad\text{and}\quad n_{k}=2^{K-k}.

Theorem 5.2.

Let 𝐟ξ,𝐠2K11\bm{f}_{\xi},\bm{g}\in\mathbb{R}^{2^{K-1}-1} for some positive integer KK. Then the computational complexity, CQTT-convC_{\text{QTT-conv}}, of approximating the convolution 𝐟ξ𝐠\bm{f}_{\xi}*\bm{g} with the max rank TT-SVD and max rank QTT-SVD algorithms described above is

CQTT-conv𝒪(Rmax22K),C_{\text{QTT-conv}}\leq\mathcal{O}(R^{2}_{\max}2^{K}),

where RmaxR_{\max} is the prescribed max rank for both the TT-SVD algorithms and the QTT-FFT algorithm.

Proof.

We show that the computational complexity is dominated asymptotically by the max rank TT-SVD algorithms and the full tensor algorithm. First, let CsvdC_{svd} be the computational cost of the SVD in big 𝒪\mathcal{O} notation. Then, for a matrix 𝑨m×n\bm{A}\in\mathbb{C}^{m\times n}, Csvd(𝑨)=𝒪(mnmin(m,n)C_{svd}(\bm{A})=\mathcal{O}(mn\min(m,n)). Note that, in Algorithm 1 (as well as in our max rank modifications), the computational complexity is dominated by the SVD algorithm. Denote the unfolding matrices at the kkth iterations as 𝑨{k}mk×nk\bm{A}^{\{k\}}\in\mathbb{C}^{m_{k}\times n_{k}}. Hence, the computational cost of the max rank TT-SVD algorithm is

k=1K1Csvd(𝑨{k})=k=1K1𝒪(mknkmin(mk,nk))k=1K1𝒪((2Rmax)22Kk)=4Rmax2k=1K1𝒪(2k)=4Rmax2𝒪(2K2)=𝒪(Rmax22K).\begin{split}\sum_{k=1}^{K-1}C_{\text{svd}}(\bm{A}^{\{k\}})&=\sum_{k=1}^{K-1}\mathcal{O}(m_{k}n_{k}\min(m_{k},n_{k}))\\ &\leq\sum_{k=1}^{K-1}\mathcal{O}((2R_{\max})^{2}2^{K-k})\\ &=4R_{\max}^{2}\sum_{k=1}^{K-1}\mathcal{O}(2^{k})\\ &=4R_{\max}^{2}\mathcal{O}(2^{K}-2)\\ &=\mathcal{O}(R^{2}_{\max}2^{K}).\end{split}

From [3], we have that for the QTT-FFT and QTT-iFFT algorithms, the computational complexity is 𝒪(K2Rmax3)\mathcal{O}(K^{2}R^{3}_{\max}). In Algorithm 3, the computational complexity comes from the multiplication 𝑨𝑩\bm{A}\bm{B} in every loop. For the kkth loop, 𝑨2k1×rk1\bm{A}\in\mathbb{C}^{2^{k-1}\times r_{k-1}} and 𝑩rk1×2rk\bm{B}\in\mathbb{R}^{r_{k-1}\times 2r_{k}} for k=2,,Kk=2,\ldots,K, thus the computational complexity is proportional to the cost of multiplying 𝑨\bm{A} by 𝑩\bm{B}, i.e.,

Cfull=k=2K𝒪(2k1rk12rk)Rmax2k=2K𝒪(2k)=Rmax2𝒪(2K+14)=𝒪(Rmax22K).\begin{split}C_{\text{full}}&=\sum_{k=2}^{K}\mathcal{O}(2^{k-1}r_{k-1}2r_{k})\\ &\leq R^{2}_{\max}\sum_{k=2}^{K}\mathcal{O}(2^{k})\\ &=R^{2}_{\max}\mathcal{O}(2^{K+1}-4)\\ &=\mathcal{O}(R^{2}_{\max}2^{K}).\end{split}

Hence, the total computational complexity is

𝒪(Rmax22K)+𝒪(K2Rmax3)+𝒪(Rmax22K)=𝒪(Rmax22K).\mathcal{O}(R^{2}_{\max}2^{K})+\mathcal{O}(K^{2}R^{3}_{\max})+\mathcal{O}(R^{2}_{\max}2^{K})=\mathcal{O}(R^{2}_{\max}2^{K}).

For the randomized SVD, we have the computational complexity Crsvd(A{k})=𝒪(mknk(Rmax+p))=𝒪(2KkRmax(Rmax+p))C_{rsvd}(A^{\{k\}})=\mathcal{O}(m_{k}n_{k}(R_{\max}+p))=\mathcal{O}(2^{K-k}R_{\max}(R_{\max}+p)). Thus, the run time for the convolution with a max rank TT-RSVD is similar when pp is small. In DD spatial dimensions, we can obtain a similar result but by replacing KK with DKDK in the max rank TT-SVD algorithm and the full tensor algorithm, and the QTT-FFT algorithm is 𝒪(DK2Rmax3)\mathcal{O}(DK^{2}R^{3}_{\max}). Hence, the total run time complexity in DD spatial dimensions is 𝒪(Rmax22DK)\mathcal{O}(R^{2}_{\max}2^{DK}).

6 Denoising

It is well known that the SVD can remove noise from matrix data, as seen in [4, 14], but little research has been done in denoising with tensor decompositions. In [17] and [19], the Tucker decomposition was used to help remove noise from point cloud data and electron holograms, respectively. In [8], it was shown that the TT-decomposition might have some advantages to denoising as opposed to the Tucker decomposition. This is because a low-rank Tucker matrix guarantees a low TT-rank for the data. However, the converse statement is not always true.

Let 𝓕\bm{\mathcal{F}} be the low TT-rank tensor representing 𝒇\bm{f} in the QTT format. Then for some core tensors 𝓕(k)rk1×2×rk\bm{\mathcal{F}}^{(k)}\in\mathbb{R}^{r_{k-1}\times 2\times r_{k}} with tensor slices 𝓕(k)(:,ik,:)=𝒇ik(k)rk1×rk\bm{\mathcal{F}}^{(k)}(:,i_{k},:)=\bm{f}^{(k)}_{i_{k}}\in\mathbb{R}^{r_{k-1}\times r_{k}}, ik=0,1i_{k}=0,1. Each element of 𝓕\bm{\mathcal{F}} can be represented in the TT format as

𝓕(i1,,ik)=𝒇i1(1)𝒇iK(K),ik=0,1,k=1,,K,\bm{\mathcal{F}}(i_{1},\ldots,i_{k})=\bm{f}^{(1)}_{i_{1}}\ldots\bm{f}^{(K)}_{i_{K}},\quad i_{k}=0,1,\quad k=1,\ldots,K,

where each 𝒇ik(k)\bm{f}^{(k)}_{i_{k}} is a low rank matrix. In practice, it is unlikely the data collected has a low-rank TT decomposition since almost all real radar data has noise due to hardware limitations or other signals interfering with the data. Instead, we have the noisy data 𝒇ξ\bm{f}_{\xi} whose tensor representation is

𝓕ξ=𝓕+𝝃,\bm{\mathcal{F}}_{\xi}=\bm{\mathcal{F}}+\bm{\xi},

where 𝝃\bm{\xi} is the realization of the random noise in the TT format. The tensor 𝓕ξ\bm{\mathcal{F}}_{\xi} almost surely has full TT-rank when represented exactly in the QTT format. Ideally, we would like to be able to find an approximate TT decomposition 𝓕~\tilde{\bm{\mathcal{F}}} with TT-cores 𝓕~(k)\tilde{\bm{\mathcal{F}}}^{(k)}, k=1,,Kk=1,\ldots,K, using the noisy data such that 𝓕~(k)𝓕(k)\tilde{\bm{\mathcal{F}}}^{(k)}\approx\bm{\mathcal{F}}^{(k)}. However, it is hard to guarantee any bound on this. We argue, though, that by using our proposed methods when given the noisy data 𝓕ξ\bm{\mathcal{F}}_{\xi}, we can find a TT decomposition 𝓕~\tilde{\bm{\mathcal{F}}} with low rank such that 𝓕~𝓕\tilde{\bm{\mathcal{F}}}\approx\bm{\mathcal{F}}.

Consider the first iteration of the for loop of algorithm 1, with 𝓐=𝓐0+𝓐ξ\bm{\mathcal{A}}=\bm{\mathcal{A}}_{0}+\bm{\mathcal{A}}_{\xi} as the sum of a smooth tensor (𝓐0\bm{\mathcal{A}}_{0}) and a noisy tensor (𝓐ξ\bm{\mathcal{A}}_{\xi}). Then, after it is reshaped, we obtain the matrix

𝑨{1}=𝑨0{1}+𝑨ξ{1},\bm{A}^{\{1\}}=\bm{A}^{\{1\}}_{0}+\bm{A}^{\{1\}}_{\xi},

where 𝑨0{1}\bm{A}^{\{1\}}_{0} is a low rank matrix and 𝑨ξ{1}\bm{A}^{\{1\}}_{\xi} is added noise. Let 𝑨{1}=𝑼𝚺𝑽+𝑬\bm{A}^{\{1\}}=\bm{U}\bm{\Sigma}\bm{V}^{*}+\bm{E} be the truncated SVD of 𝑨{1}\bm{A}^{\{1\}} and 𝑨0{1}=𝑼0𝚺0𝑽0\bm{A}^{\{1\}}_{0}=\bm{U}_{0}\bm{\Sigma}_{0}\bm{V}_{0}^{*} be the SVD of 𝑨0{1}\bm{A}^{\{1\}}_{0}. Note that 𝑼𝚺𝑽𝑨0{1}\bm{U}\bm{\Sigma}\bm{V}^{*}\approx\bm{A}_{0}^{\{1\}} does not imply that 𝑼𝑼0\bm{U}\approx\bm{U}_{0}, and thus the TT-core 𝓐(1)\bm{\mathcal{A}}^{(1)} is not guaranteed to be approximately equal to 𝓐0(1)\bm{\mathcal{A}}^{(1)}_{0}, where 𝓐0(1)\bm{\mathcal{A}}^{(1)}_{0} is the first TT-core of 𝓐0\bm{\mathcal{A}}_{0}. However, if we let 𝓐2=𝓐\bm{\mathcal{A}}^{2}=\bm{\mathcal{A}} on the second iteration of the loop in Algorithm 1 (and similarly for 𝓐0\bm{\mathcal{A}}_{0}), we do get that the elements of the tensor contraction 𝓐(1)𝓐2𝓐0(1)𝓐02\bm{\mathcal{A}}^{(1)}\circ\bm{\mathcal{A}}^{2}\approx\bm{\mathcal{A}}^{(1)}_{0}\circ\bm{\mathcal{A}}^{2}_{0}. Similarly, if we can approximate the noise-free component on every iteration of the for loop, we obtain an approximation for the tensor 𝓐0\bm{\mathcal{A}}_{0}. While we do not have a theoretical bound on this error, our experiments in Section 7 show that this method works well at removing the noise. Since our method computes multiple SVDs, it can reduce a lot more noise than if we just did a single SVD and can do so without excessive smearing.

7 Numerical simulations

This section presents some examples in one and two spatial dimensions. The original code for the TT-decompositions and the QTT-FFT algorithms comes from the Matlab toolbox oseledets/TT-Toolbox. We have modified it accordingly for the max rank TT-SVD, max rank TT-RSVD, and SV drop off TT-SVD algorithm, as discussed in Section 5. For all our examples, we compare the run time and errors of computing the convolution (2.1) using several methods. The error for every example is the l2l_{2} relative error

E2(𝑰)=𝑰𝑰ref2𝑰ref2,E_{2}(\bm{I})=\frac{\|\bm{I}-\bm{I}_{\text{ref}}\|_{2}}{\|\bm{I}_{\text{ref}}\|_{2}}, (7.1)

where in DD spatial dimensions

𝑰2=1ND𝒋=𝟎𝑵𝟏|𝑰𝒋|2.\|\bm{I}\|_{2}=\sqrt{\frac{1}{N^{D}}\sum_{\bm{j}=\bm{0}}^{\bm{N}-\bm{1}}|\bm{I}_{\bm{j}}|^{2}}.

The reference solution, 𝑰ref\bm{I}_{\text{ref}}, is the discrete convolution (2.2) computed without any noise. In all of the examples, we compare our methods against computing the convolution with the randomized TT-SVD algorithm from [13], as well as computing the true noisy convolution with FFT. In two space dimensions, we also approximate the convolution using a low matrix rank approximation to the noisy data 𝒇ξ\bm{f}_{\xi}, where the truncated rank is determined by the actual matrix rank of 𝒇\bm{f}.

For all of these examples, we use the normalized sinc imaging kernel that corresponds to the GAF (3.1) truncated to a sufficiently large interval [L,L][-L,L]:

g(x)=sinc(πxΔx)LLsinc(πxΔx)𝑑x,x[L,L]g(x)=\frac{\text{sinc}(\pi\frac{x}{\Delta_{x}})}{\int_{-L}^{L}\text{sinc}(\pi\frac{x}{\Delta_{x}})\;dx},\quad x\in[-L,L] (7.2)

for D=1D=1, and

g(x,y)=sinc(πxΔx)sinc(πyΔy)LLsinc(πxΔx)sinc(πyΔy)𝑑x𝑑y,(x,y)[L,L]×[L,L]g(x,y)=\frac{\text{sinc}(\pi\frac{x}{\Delta_{x}})\text{sinc}(\pi\frac{y}{\Delta_{y}})}{\iint_{-L}^{L}\text{sinc}(\pi\frac{x}{\Delta_{x}})\text{sinc}(\pi\frac{y}{\Delta_{y}})\;dxdy},\quad(x,y)\in[-L,L]\times[-L,L] (7.3)

for D=2D=2, where the resolution Δx\Delta_{x} in (7.2) and Δx=Δy\Delta_{x}=\Delta_{y} in (7.3) is a given parameter. The one- dimensional kernel (7.2) for Δx=0.04π\Delta_{x}=0.04\pi is shown in Figure 7.1.

In Table 7.1, we present the relative error for each example for K=20K=20 when D=1D=1, and K=10K=10 when D=2D=2. In this table, the convolution 𝒇ξ𝒈\bm{f}_{\xi}*\bm{g} is denoted by 𝑰ξ\bm{I}_{\xi} and computed using the FFT algorithm, the QTT-convolution computed with the max rank TT-SVD algorithm is denoted by 𝑰QTT0\bm{I}_{QTT_{0}}, the QTT-convolution computed with the max rank TT-RSVD is denoted by 𝑰QTTr\bm{I}_{QTT_{r}}, and the convolution computed using the SV drop off TT-SVD algorithm is denoted by IδI_{\delta}. In turn, the convolutions computed using the randomized TT-decomposition are denoted by 𝑰RTT\bm{I}_{RTT}, and in two dimensions, the convolution computed using low-rank approximations of 𝒇\bm{f} is denoted by 𝑰lr\bm{I}_{lr}. For IδI_{\delta} and 𝑰lr\bm{I}_{lr}, we also denote what parameter δ\delta and truncation matrix rank RR are used, respectively, for each example using a subscript of the error.

Refer to caption
Figure 7.1: Kernel function (7.2) with Δx=0.04π\Delta_{x}=0.04\pi.

For each example, we show the TT-ranks of the original function without noise, 𝒇\bm{f}, in the QTT format given by the tensor 𝓕\bm{\mathcal{F}}. This QTT approximation is computed with Algorithm 1 with the tolerance ε=1010\varepsilon=10^{-10}. We compute these TT-ranks for K=20K=20 when D=1D=1 and K=10K=10 when D=2D=2. However, it is worth noting that these TT-ranks do not change much for any data size. Notice that the max TT-ranks we choose for our algorithms are less than the TT-ranks of 𝒇\bm{f} from Algorithm 1, yet still provide a reasonable estimate.

Table 7.1: l2l_{2}-norm relative error for K=20K=20 for examples 1 and 2, and K=10K=10 for example 3.
example 𝑰ξ\bm{I}_{\xi} 𝑰QTT0\bm{I}_{QTT_{0}} 𝑰QTTr\bm{I}_{QTT_{r}} 𝑰δ\bm{I}_{\delta} 𝑰RTT\bm{I}_{RTT} 𝑰lr\bm{I}_{lr}
11 0.03830.0383 0.0028 0.01020.0102 0.0280δ=0.020.0280_{\delta=0.02} 0.04300.0430 -
22 0.01310.0131 0.0011 0.00750.0075 0.0068δ=0.010.0068_{\delta=0.01} 0.02010.0201 -
33 0.11420.1142 0.0151 0.04470.0447 0.1650δ=0.090.1650_{\delta=0.09} 0.15340.1534 0.0470rank=230.0470_{rank=23}

7.1 Example 1

For this example, let

f(x)=e(3x10)2(0.4sin(8πx)0.7cos(6πx)),x[10,10],f(x)=e^{-(\frac{3x}{10})^{2}}(0.4\sin(8\pi x)-0.7\cos(6\pi x)),\quad x\in[-10,10],

and

(fξ)j=f(xj)+ξj,\displaystyle(f_{\xi})_{j}=f(x_{j})+\xi_{j},
xj=10+Δx2+jΔx,j=0,,N1,Δx=20N,N=2K11,\displaystyle x_{j}=-10+\frac{\Delta x}{2}+j\Delta x,\quad j=0,\ldots,N-1,\quad\Delta x=\frac{20}{N},\quad N=2^{K-1}-1,

with ξj𝒩(0,0.02)\xi_{j}\sim\mathcal{N}(0,0.02). We also set the resolution Δx=4Δx\Delta_{x}=4\Delta x in (7.2)\eqref{sinc_kern1}, where Δx\Delta x is the size of the spatial discretization. Thus, the width of the main lobe of the sinc is 8Δx8\Delta x on the x-axis.

As we can see in Figure 7.2, the FFT-QTT algorithm removed much of the noise in the data compared to the true convolution. For K=20K=20, we also tried computing the convolution using the original TT-SVD algorithm given in Algorithm 1 with multiple values of ε\varepsilon. The smallest error, as defined in (7.1), occurred when ε=0.01\varepsilon=0.01 and gave the relative error of E2(𝑰)=0.03202E_{2}(\bm{I})=0.03202. This is close to the error of the true convolution of the noisy data and took over 100100 seconds to compute. However, as we can see in Table 7.2, the run times for all of our methods on the same grid took less than a second. This indicates that the original TT-SVD algorithm is practically unsuitable for removing data noise.

The max TT-rank of the discretization of f(x)f(x) in the QTT format, 𝓕\bm{\mathcal{F}}, is 1717, yet we were able to achieve our approximation using a max rank of Rmax=10R_{max}=10 for the max rank TT-SVD and max rank TT-RSVD algorithms and R^max=15\hat{R}_{max}=15 for the QTT-FFT algorithm. Thus, even if we do not know the exact TT-rank, we can still compute a good approximation.

Table 7.2 shows run times for different grid sizes for each method. We can see that computing the convolution with FFT is faster than our methods for these values of KK. However, the convolution with our QTT methods gets closer to the FFT run time as KK increases. This is shown in the last column of Table 7.2 where we see the ratio of the max rank TT-SVD convolution method to the FFT convolution method is getting smaller as KK grows. This helps verify our theoretical result that for some constant max rank RmaxR_{max} (and R^max\hat{R}_{max}), the max rank TT-SVD convolution method is asymptotically faster than computing the convolution with FFT. The amount of data needed for our method to outperform the FFT method may be impractical for most real-world applications in 1-2 spatial dimensions.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 7.2: Top Left: True convolution of data without noise, 𝑰\bm{I}. Top Right: Function data with noise, 𝒇ξ\bm{f}_{\xi}. Middle Left: True convolution of data with noise, 𝑰ξ\bm{I}_{\xi}. Middle Right: Convolution using the max rank TT-SVD algorithm, 𝑰QTT0\bm{I}_{QTT_{0}}. Bottom Left: Absolute error of 𝑰ξ\bm{I}_{\xi}. Bottom Right: Absolute error of 𝑰QTT0\bm{I}_{QTT_{0}}.
Table 7.2: Run time (seconds): Example 1 convolutions.
K 𝑰ξ\bm{I}_{\xi} 𝑰QTT0\bm{I}_{QTT_{0}} 𝑰QTTr\bm{I}_{QTT_{r}} 𝑰δ\bm{I}_{\delta} 𝑰RTT\bm{I}_{RTT} 𝑰QTT0/𝑰ξ\bm{I}_{QTT_{0}}/\bm{I}_{\xi}
1616 0.005 0.3250.325 0.3690.369 1.485δ=0.021.485_{\delta=0.02} 0.4140.414 65
2020 0.067 0.6530.653 0.6940.694 0.479δ=0.020.479_{\delta=0.02} 0.6090.609 9.7463
2424 1.21 4.414.41 4.864.86 3.10δ=0.023.10_{\delta=0.02} 2.802.80 3.6446
2626 5.77 17.7517.75 19.6819.68 13.93δ=0.0213.93_{\delta=0.02} 10.9710.97 3.0763
2828 66.666.6 95.595.5 108.7108.7 79.0δ=0.0279.0_{\delta=0.02} 62.49 1.4339
Table 7.3: Data storage for Example 1.
K fξf_{\xi} 𝓕ξ\bm{\mathcal{F}}_{\xi}
1616 65,53665{,}536 20882088
2020 1,048,5761{,}048{,}576 28882888
2424 16,777,21616{,}777{,}216 36883688
2626 67,108,86467{,}108{,}864 40884088
2828 268,435,456268{,}435{,}456 44884488

Table 7.3 shows the number of elements to represent the data 𝒇ξ\bm{f}_{\xi} fully versus how many elements are required to store the data in the QTT-format with a prescribed max rank of Rmax=10R_{max}=10, 𝓕ξ\bm{\mathcal{F}}_{\xi}, in Example 1. As we can see, storing all the elements takes a lot of data and grows exponentially in KK, while storing the elements in the QTT format takes a lot less data and only grows linearly in KK. These values for the QTT-data storage can be found by looking at the size of the core tensors. For the tensor 𝓕ξ\bm{\mathcal{F}}_{\xi} in the QTT format and with a max TT-rank of Rmax=10R_{max}=10, we have the TT-cores

𝓕ξ(1),𝓕ξ(K)1×2×2,\displaystyle\bm{\mathcal{F}}^{(1)}_{\xi},\bm{\mathcal{F}}^{(K)}_{\xi}\in\mathbb{R}^{1\times 2\times 2},
𝓕ξ(2),𝓕ξ(K1)2×2×4,\displaystyle\bm{\mathcal{F}}^{(2)}_{\xi},\bm{\mathcal{F}}^{(K-1)}_{\xi}\in\mathbb{R}^{2\times 2\times 4},
𝓕ξ(3),𝓕ξ(K2)4×2×8,\displaystyle\bm{\mathcal{F}}^{(3)}_{\xi},\bm{\mathcal{F}}^{(K-2)}_{\xi}\in\mathbb{R}^{4\times 2\times 8},
𝓕ξ(4),𝓕ξ(K3)8×2×10,\displaystyle\bm{\mathcal{F}}^{(4)}_{\xi},\bm{\mathcal{F}}^{(K-3)}_{\xi}\in\mathbb{R}^{8\times 2\times 10},
𝓕ξ(k)10×2×10,k=5,,K4.\displaystyle\bm{\mathcal{F}}^{(k)}_{\xi}\in\mathbb{R}^{10\times 2\times 10},\quad k=5,\ldots,K-4.

Thus, the number of elements, NelN_{el}, that make up this QTT tensors is:

Nel=2(1×2×2)+2(2×2×4)+2(4×2×8)+2(8×2×10)+(K8)(10×2×10).N_{el}=2(1\times 2\times 2)+2(2\times 2\times 4)+2(4\times 2\times 8)+2(8\times 2\times 10)+(K-8)(10\times 2\times 10).

The max rank TT-RSVD algorithm is not able to produce results as good as the max rank TT-SVD (see Table 7.1 for relative error comparison and Table 7.2 for a run time comparison) but is still able to produce a reasonably low error. While the run time for the max rank TT-SVD is faster than the max rank TT-RSVD for all of our methods, the max rank TT-RSVD can be faster for tensors with larger mode sizes. This is due to the SVD in max rank TT-SVD algorithm with mode sizes, MkM_{k}, may be computed on a matrix with mk=MkRmaxm_{k}=M_{k}R_{\max} rows. In contrast, for the max rank TT-RSVD algorithm, the SVD is computed on a matrix with mk=Rmax+pm_{k}=R_{\max}+p rows when Mk=2M_{k}=2 (such as for the QTT decomposition). The difference in the sizes of mkm_{k} does not make up for the extra amount of work the RSVD algorithm does. Although this paper focuses on the QTT-decomposition and thus Mk=2M_{k}=2, we believe this is important to note as the max rank TT-RSVD algorithm can speed up the TT-decomposition for higher mode tensor data and still produce accurate approximations. We verify this by computing the max rank TT-SVD algorithm and the max rank TT-RSVD algorithm on a tensor with K=8K=8 modes with each mode of size Mk=10M_{k}=10, k=1,,Kk=1,\ldots,K. Each element of this tensor is taken from the uniform distribution 𝒰[0,1)\mathcal{U}[0,1). The max rank TT-SVD algorithm took 9.579.57 seconds, and the max rank TT-RSVD algorithm only took 5.125.12 seconds, almost half the time of the max rank TT-SVD algorithm.

7.2 Example 2

If we were to choose a coarser resolution for the example of Section 7.1 (i.e., a wider sinc function), we could reduce the noise using the standard convolution at the cost of smoothing out the solution’s peaks. Doing this gives similar results for the true convolution and with our methods (Section 5). In this section, we show an example where the ground reflectivity is very oscillatory. Here, the resolution Δx\Delta_{x} determined by the GAF must be small (i.e., the sinc function must be “skinny”). Otherwise, if the sinc window is close to or larger than the characteristic scale of variation of the ground reflectivity, then the convolution can smooth out the actual oscillations instead of just the noise, losing most of the information in ff.

We choose the ground reflectivity as

f(x)=e(3x)2(0.9sin(2xπ5Δx)+1.4cos(xπ3Δx)),x[1,1],f(x)=e^{-(3x)^{2}}(0.9\sin(\frac{2x\pi}{5\Delta x})+1.4\cos(\frac{x\pi}{3\Delta x})),\quad x\in[-1,1],

and

(fξ)j=f(xj)+ξj,\displaystyle(f_{\xi})_{j}=f(x_{j})+\xi_{j},
xj=1+Δx2+jΔx,j=0,,N1,Δx=2N,N=2K11,\displaystyle x_{j}=-1+\frac{\Delta x}{2}+j\Delta x,\quad j=0,\ldots,N-1,\quad\Delta x=\frac{2}{N},\quad N=2^{K-1}-1,

with ξj𝒩(0,.01)\xi_{j}\sim\mathcal{N}(0,.01). We use Δx=2Δx\Delta_{x}=2\Delta x and the max TT-rank of the discretization of the smooth function f(x)f(x) in the QTT-format is 2626.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 7.3: Top Left: True convolution of data without noise, 𝑰\bm{I}. Top Right: Zoomed in graph of 𝑰ξ\bm{I}_{\xi}, 𝑰QTT0\bm{I}_{QTT_{0}}, and 𝑰ref\bm{I}_{ref}. Bottom Left: Absolute error of 𝑰ξ\bm{I}_{\xi}. Bottom Right: Absolute error of 𝑰QTT0\bm{I}_{QTT_{0}}.

Again, we use the max ranks of Rmax=10R_{max}=10 and R^max=15\hat{R}_{max}=15 for the max rank TT-SVD and QTT-SVD algorithms, respectively. As the function is too oscillatory to see a lot of helpful information in the full graph (see top left of Figure 7.3), we show a zoomed-in plot of the graph of 𝑰ξ\bm{I}_{\xi}, 𝑰QTT0\bm{I}_{QTT_{0}}, and 𝑰ref\bm{I}_{\text{ref}} (see top right of Figure 7.3). While there is some error, the QTT-FFT convolution agrees with the true convolution 𝑰ref\bm{I}_{ref} very well, whereas 𝑰ξ\bm{I}_{\xi} has a more considerable noticeable difference. This is verified by the graphs of the absolute error given in Figure 7.3, where the bottom left shows the error for 𝑰ξ\bm{I}_{\xi}, and the bottom right shows the error for 𝑰QTT0\bm{I}_{QTT_{0}}.

7.3 Example 3

Let

f(x,y)=e((2x)2+(2y)2)(sin(2πx)cos(7πy)+cos(4πxy)sin(3πxy),\displaystyle f(x,y)=e^{-((2x)^{2}+(2y)^{2})}(\sin(2\pi x)-\cos(7\pi y)+\cos(4\pi xy)-\sin(3\pi xy),
(x,y)[1,1]×[1,1]\displaystyle(x,y)\in[-1,1]\times[-1,1]

and

(𝒇ξ)j,k=f(xj,yk)+ξj,k,\displaystyle(\bm{f}_{\xi})_{j,k}=f(x_{j},y_{k})+\xi_{j,k},
xj=1+Δx2+jΔx,yk=1+Δy2+kΔy,\displaystyle x_{j}=-1+\frac{\Delta x}{2}+j\Delta x,\quad y_{k}=-1+\frac{\Delta y}{2}+k\Delta y,
j,k=0,,N1,Δx=Δy=2N,N=2K11,\displaystyle j,k=0,\ldots,N-1,\quad\Delta x=\Delta y=\frac{2}{N},\quad N=2^{K-1}-1,

with ξj,k𝒩(0,0.1)\xi_{j,k}\sim\mathcal{N}(0,0.1). We have Δx=Δy=2Δx\Delta_{x}=\Delta_{y}=2\Delta x. Thus, the diameter of the main lobe of the sinc is 4Δx4\Delta x on the xy-plane. Here, we show a 2D example whose discretization of a smooth function ff has a matrix rank of 2323 and a TT-rank of 26 when represented in the QTT format. We still use the ranks Rmax=10R_{max}=10 and R^max=15\hat{R}_{max}=15 for our max rank TT-SVD (max rank TT-RSVD) and max rank QTT-FFT. Thus, our TT-ranks are much smaller than the true TT-ranks. In Figure 7.4 and Table 7.1, notice that our method can still capture the shape of the original function with an error that is an order of magnitude smaller than the error from the true convolution using FFT. The plots on the bottom of Figure 7.4 are a side view of the error graphs, as it is easier to compare the errors in this view. The 2D examples are similar to the previous test case. Thus, it is reasonable to assume our method works about the same regardless of the spatial dimension.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 7.4: Top Left: True convolution of data without noise, 𝑰\bm{I}. Top Right: Function data with noise, 𝒇ξ\bm{f}_{\xi}. Middle Left: True convolution of data with noise, 𝑰ξ\bm{I}_{\xi}. Middle Right: Convolution using the max rank TT-SVD algorithm, 𝑰QTT0\bm{I}_{QTT_{0}}. Bottom Left: Absolute error of 𝑰ξ\bm{I}_{\xi}. Bottom Right: Absolute error of 𝑰QTT0\bm{I}_{QTT_{0}}.

In Table 7.4, we compare the run times for the different methods of computing the convolution in two spatial dimensions. We get similar results as the one-dimensional case, where the fastest run time is from the convolution with FFT, but with the max rank TT-SVD and max rank TT-RSVD methods approaching its run time asymptotically. In 2D, when there is the same amount of data as in the 1D case (for example, 214×142^{14\times 14} in 2D compared to 2282^{28} in 1D), the 2D examples do not run as fast as the 1D example. This is due to the extra work in the 2D QTT-FFT algorithm from [3].

Table 7.4: Run times (seconds): Example 3 convolutions.
K 𝑰ξ\bm{I}_{\xi} 𝑰QTT0\bm{I}_{QTT_{0}} 𝑰QTTr\bm{I}_{QTT_{r}} 𝑰δ\bm{I}_{\delta} 𝑰RTT\bm{I}_{RTT} 𝑰lr\bm{I}_{lr} 𝑰QTT0/𝑰ξ\bm{I}_{QTT_{0}}/\bm{I}_{\xi}
88 0.0034 0.22130.2213 0.3100.310 7.102δ=0.047.102_{\delta=0.04} 0.2970.297 0.0090rank=20.0090_{rank=2} 65.088
1010 0.0629 0.92090.9209 1.4281.428 0.670δ=0.040.670_{\delta=0.04} 1.3211.321 0.154rank=20.154_{rank=2} 14.651
1212 0.948 8.64628.6462 11.25811.258 22.79δ=0.0422.79_{\delta=0.04} 10.2710.27 5.15rank=25.15_{rank=2} 9.121
1414 58.67 147.8147.8 151.05151.05 1087δ=0.041087_{\delta=0.04} 164.5164.5 286.2rank=2286.2_{rank=2} 2.519

Again we compare the amount of data stored in the full format versus in the QTT-format. Note that the spatial dimension of the original function does not matter in how much storage it takes, just the dimensionality of the data. For example, it takes just as much data to store a vector in 220\mathbb{R}^{2^{20}} as it does to store a matrix in 210×210\mathbb{R}^{2^{10}\times 2^{10}} in the QTT format with a max rank of RmaxR_{max}.

Table 7.5: Data storage for Example 3.
K 𝒇ξ\bm{f}_{\xi} 𝓕ξ\bm{\mathcal{F}}_{\xi}
88 65,53665{,}536 20882088
1010 1,048,5761{,}048{,}576 28882888
1212 16,777,21616{,}777{,}216 36883688
1414 268,435,456268{,}435{,}456 44884488

8 Conclusions

In this paper, we have shown that the QTT decomposition, along with the QTT-FFT algorithm, can effectively remove noise from signals with full TT-ranks when the true signal is of low rank. As we have seen in the numerical examples, we could drastically remove the amount of noise from the signal compared to if we took the convolution in the traditional way of using the FFT algorithm. This comes at the cost of run time, but our methods still run at a reasonable speed which got closer to the FFT run time as the dimensionality of the data increased. This is demonstrated by three different examples, two in one spatial dimension and one in two spatial dimensions. We are even able to show that our method works on very oscillatory data where it is required to have a sinc kernel with a narrow main lobe. Using approximate TT-ranks smaller than the TT-ranks of the actual signal data, we are able to recover most of the signal. This indicates that as long as the signal is reasonably smooth, the QTT decomposition can effectively be used for noise reduction for high-dimensional data, even if the true TT-rank is unknown.

From our three new approaches, the max rank TT-SVD convolution algorithm works much better than the max rank TT-RSVD and the SV drop off TT-SVD convolution algorithms. As was stated before, the max rank TT-RSVD can outperform the max rank TT-SVD algorithm when there are larger mode sizes that are used in this paper. For this reason, we present this algorithm, as we have not seen it in the literature elsewhere. The SV drop off TT-SVD convolution algorithms do not produce as accurate of a method as the max rank TT-SVD or the max rank TT-RSVD algorithm; however, in some cases, it does run faster, and this method may give a higher degree of confidence that the truncated singular values are of little importance. Unfortunately, this method can also lead to long run times, as is seen in Table 7.4 when K=14K=14.

Appendix A Randomized SVD

Here, we give a brief overview of the randomized SVD (RSVD) decomposition from [11]. To compute the RSVD of the matrix Am×nA\in\mathbb{R}^{m\times n}, the first step is to find Qm×(k+p)Q\in\mathbb{R}^{m\times(k+p)} such that

𝑨𝑸𝑸𝑨\bm{A}\approx\bm{Q}\bm{Q}^{*}\bm{A}

where 𝑸\bm{Q} has orthonormal columns and whose columns are approximations for the range of 𝑨\bm{A}. Here, kk is the number of singular values that we want in our approximation to be close to the singular values of 𝑨\bm{A}, and pp is what is known as an oversampling parameter. To find 𝑸\bm{Q}, we use the following Algorithm 4.

input : 𝑨\bm{A}, kk, pp
output  : 𝑸\bm{Q}
Draw random matrix 𝛀n×(k+p)\bm{\Omega}\in\mathbb{R}^{n\times(k+p)} such that 𝛀i,j𝒩(0,1)\bm{\Omega}_{i,j}\sim\mathcal{N}(0,1).
Let 𝒀=𝑨𝛀\bm{Y}=\bm{A}\bm{\Omega}.
Compute QR factorization 𝑸𝑹=𝒀\bm{Q}\bm{R}=\bm{Y}.
Algorithm 4 Solving the Fixed-Rank Problem

Once we have obtained 𝑸\bm{Q}, we can compute the low-rank RSVD using Algorithm 5 (Algorithm 5.1 in [11]).

input : 𝑨\bm{A}, 𝑸\bm{Q}, kk
output  : 𝑼𝚺𝑽\bm{U}\bm{\Sigma}\bm{V}^{*}
  1. 1.

    Let 𝑩=𝑸𝑨\bm{B}=\bm{Q}^{*}\bm{A}.

  2. 2.

    Compute SVD: 𝑼~𝚺𝑽=𝑩\tilde{\bm{U}}\bm{\Sigma}\bm{V}^{*}=\bm{B}.

  3. 3.

    Let 𝑼=𝑸𝑼~\bm{U}=\bm{Q}\tilde{\bm{U}}.

Algorithm 5 RSVD

With these algorithms, we obtain an approximation 𝑨~\tilde{\bm{A}} to 𝑨\bm{A} such that

𝑨𝑨~(1+11k+pmin(m,n))σk+1,\|\bm{A}-\tilde{\bm{A}}\|\leq(1+11\sqrt{k+p}\sqrt{\min(m,n)})\sigma_{k+1}, (A.1)

with probability 16pp1-6p^{-p}. If we truncate the SVD to only the leading k singular values in Algorithm 5, then the error on the left-hand side of (A.1) only increases by at most σk+1\sigma_{k+1}. The computational complexity for each step of this algorithm is given as

  • 𝒪(mn(k+p))\mathcal{O}(mn(k+p))

  • 𝒪((k+p)2n)\mathcal{O}((k+p)^{2}n)

  • 𝒪((k+p)2m)\mathcal{O}((k+p)^{2}m),

Thus, for k+p<min(m,n)k+p<\min(m,n), the overall algorithm requires 𝒪(mn(k+p))\mathcal{O}(mn(k+p)) operations.

Acknowledgments

The work of A. Chertock was supported in part by NSF grants DMS-1818684 and DMS-2208438. The work of C. Leonard was supported in part by NSF grant DMS-1818684. The work of S. Tsynkov was supported in part by US Air Force Office of Scientific Research (AFOSR) under grant # FA9550-21-1-0086.

References

  • [1] Maolin Che and Yimin Wei. Randomized algorithms for the approximations of Tucker and the tensor train decompositions. Adv Comput Math, 45:395–428, 2019.
  • [2] Margaret Cheney and Brett Borden. Fundamentals of Radar Imaging, volume 79 of CBMS-NSF Regional Conference Series in Applied Mathematics. SIAM, Philadelphia, 2009.
  • [3] Sergey Dolgov, Boris Khoromskij, and Dmitry Savostyanov. Superfast Fourier transform using QTT approximation. J. Fourier Anal. Appl., 18(5):915–953, 2012.
  • [4] Brenden P. Epps and Eric M. Krivitzky. Singular value decomposition of noisy data: noise filtering. Experiments in fluids, 60(8):1–23, 2019.
  • [5] Krzysztof Fonał and Rafał Zdunek. Distributed and randomized tensor train decomposition for feature extraction. In 2019 International Joint Conference on Neural Networks (IJCNN), pages 1–8, 2019.
  • [6] Mikhail Gilman, Erick Smith, and Semyon Tsynkov. Transionospheric synthetic aperture imaging. Applied and Numerical Harmonic Analysis. Birkhäuser/Springer, Cham, Switzerland, 2017.
  • [7] Mikhail Gilman and Semyon Tsynkov. A mathematical perspective on radar interferometry. Inverse Problems & Imaging, 16(1):119–152, 2022. doi: 10.3934/ipi.2021043.
  • [8] Xiao Gong, Wei Chen, Jie Chen, and Bo Ai. Tensor denoising using low-rank tensor train decomposition. IEEE Signal Processing Letters, 27:1685–1689, 2020.
  • [9] Lars Grasedyck. Polynomial approximation in hierarchical tucker format by vector–tensorization. Technical Report 308, Institut für Geometrie und Praktische Mathematik RWTH Aachen, April 2010.
  • [10] W. Hackbusch and S. Kühn. A new scheme for the tensor representation. J. Fourier Anal. Appl., 15(5):706–722, 2009.
  • [11] N. Halko, P. G. Martinsson, and J. A. Tropp. Finding structure with randomness: probabilistic algorithms for constructing approximate matrix decompositions. SIAM Rev., 53(2):217–288, 2011.
  • [12] R.A. Harshman. Foundations of the PARAFAC procedure: Models and conditions for an explanatory multimodal factor analysis. UCLA Working Papers in Phonetics, 16:1–84, December 1970.
  • [13] Benjamin Huber, Reinhold Schneider, and Sebastian Wolf. A randomized tensor train singular value decomposition. In Compressed sensing and its applications, Appl. Numer. Harmon. Anal., pages 261–290. Birkhäuser/Springer, Cham, 2017.
  • [14] Sunil K. Jha and R. D. S. Yadava. Denoising by singular value decomposition and its application to electronic nose data processing. IEEE Sensors Journal, 11(1):35–44, 2011.
  • [15] Vladimir A. Kazeev, Boris N. Khoromskij, and Eugene E. Tyrtyshnikov. Multilevel Toeplitz matrices generated by tensor-structured vectors and convolution with logarithmic complexity. SIAM J. Sci. Comput., 35(3):A1511–A1536, 2013.
  • [16] Boris N. Khoromskij. O(dlogN)O(d\log N)-quantics approximation of NN-dd tensors in high-dimensional numerical modeling. Constr. Approx., 34(2):257–280, 2011.
  • [17] Jianze Li, Xiao-Ping Zhang, and Tuan Tran. Point cloud denoising based on tensor tucker decomposition. In 2019 IEEE International Conference on Image Processing (ICIP), pages 4375–4379, 2019.
  • [18] Lingjie Li, Wenjian Yu, and Kim Batselier. Faster tensor train decomposition for sparse data. Journal of Computational and Applied Mathematics, 405:113972, 2022.
  • [19] Yuki Nomura, Kazuo Yamamoto, Satoshi Anada, Tsukasa Hirayama, Emiko Igaki, and Koh Saitoh. Denoising of series electron holograms using tensor decomposition. Microscopy, 70(3):255–264, 09 2020.
  • [20] I. V. Oseledets. Approximation of 2d×2d2^{d}\times 2^{d} matrices using tensor decomposition. SIAM J. Matrix Anal. Appl., 31(4):2130–2145, 2009/10.
  • [21] I. V. Oseledets. Tensor-train decomposition. SIAM Journal on Scientific Computing, 33(5):2295–2317, 2011.
  • [22] I. V. Oseledets. Constructive representation of functions in low-rank tensor formats. Constr. Approx., 37(1):1–18, 2013.
  • [23] I. V. Oseledets and E. E. Tyrtyshnikov. Breaking the curse of dimensionality, or how to use SVD in many dimensions. SIAM J. Sci. Comput., 31(5):3744–3759, 2009.
  • [24] Ivan Oseledets and Eugene Tyrtyshnikov. TT-cross approximation for multidimensional arrays. Linear Algebra Appl., 432(1):70–88, 2010.
  • [25] M. V. Rakhuba and I. V. Oseledets. Fast multidimensional convolution in low-rank tensor formats via cross approximation. SIAM J. Sci. Comput., 37(2):A565–A582, 2015.
  • [26] Tianyi Shi, Maximilian Ruth, and Alex Townsend. Parallel algorithms for computing the tensor-train decomposition, 2021.
  • [27] L.R. Tucker. Some mathematical notes on three-mode factor analysis. Psychometrika, 31:279–311, 1966.