arXiv is now an independent nonprofit! Learn more
License: CC BY 4.0
arXiv:2406.00469v2 [cs.LG] 18 Aug 2024

2021

Learning to Solve Multiresolution Matrix Factorization by Manifold Optimization and Evolutionary Metaheuristics

Truong Son Hy Email: TruongSon.Hy@indstate.edu Affiliation: Department of Mathematics and Computer Science, Indiana State University, 200 N. 7th St., Terre Haute, 47809, IN, United States    Thieu Khang Email: thieukhang.ng@gmail.com Affiliation: Department of Mathematics and Computer Science, Indiana State University, 200 N. 7th St., Terre Haute, 47809, IN, United States    Risi Kondor Email: risi@uchicago.edu Affiliation: Department of Computer Science, University of Chicago, 5730 South Ellis Ave., Chicago, 60637, Illinois, United States
Abstract

Multiresolution Matrix Factorization (MMF) is unusual amongst fast matrix factorization algorithms in that it does not make a low rank assumption. This makes MMF especially well suited to modeling certain types of graphs with complex multiscale or hierarchical strucutre. While MMF promises to yields a useful wavelet basis, finding the factorization itself is hard, and existing greedy methods tend to be brittle. In this paper, we propose a “learnable” version of MMF that carfully optimizes the factorization using metaheuristics, specifically evolutionary algorithms and directed evolution, along with Stiefel manifold optimization through backpropagating errors. We show that the resulting wavelet basis far outperforms prior MMF algorithms and gives comparable performance on standard learning tasks on graphs. Furthermore, we construct the wavelet neural networks (WNNs) learning graphs on the spectral domain with the wavelet basis produced by our MMF learning algorithm. Our wavelet networks are competitive against other state-of-the-art methods in molecular graphs classification and node classification on citation graphs. We release our implementation at https://github.com/HySonLab/LearnMMF.

keywords
Multiresolution analysis, multiresolution matrix factorization, manifold optimization, evolutionary algorithm, directed evolution, graph neural networks, graph wavelets, wavelet neural networks.

1 Introduction

Graph convolutional networks (GCNs) have become a powerful tool for learning from graph-structured data, which appear in various fields such as social networks, molecular chemistry, and recommendation systems. Unlike traditional data represented in grids or sequences, graphs have complex, irregular structures with nodes connected by edges, making conventional convolutional operations unsuitable.

To tackle this challenge, researchers have adapted convolution to the graph domain. One approach uses the Graph Fourier transform (GFT) [1], which relies on the eigendecomposition of the graph Laplacian matrix. The GFT represents a graph signal in terms of its frequency components, similar to classical signal processing.

The graph convolution operator in the spectral domain is defined as:

𝒇𝒢𝒈=𝑼((𝑼T𝒈)(𝑼T𝒇)),{\bm{f}}*_{\mathcal{G}}{\bm{g}}={\bm{U}}\big(({\bm{U}}^{T}{\bm{g}})\odot({\bm{U}}^{T}{\bm{f}})\big),

where 𝒇{\bm{f}} is the graph signal, 𝒈{\bm{g}} is the convolution kernel, 𝑼{\bm{U}} are the eigenvectors of the graph Laplacian, and \odot denotes the element-wise Hadamard product. This operation simplifies to matrix multiplication, making it computationally efficient.

However, the GFT approach has significant limitations. First, computing the eigendecomposition is often infeasible for large graphs due to its high computational cost. Second, the learned filters are not localized in the vertex domain, making it difficult to capture local structures effectively.

These limitations underscore the need for alternative methods that efficiently perform convolution on graphs while preserving their local and global properties. To address these issues, we propose a modified spectral graph network based on the Multiresolution Matrix Factorization (MMF) [2] wavelet basis instead of the Laplacian eigenbasis. This approach offers several advantages: (i) the wavelets are generally localized in both vertex and frequency domains, (ii) the individual basis transforms are sparse, and (iii) MMF provides an efficient way to decompose graph signals into components at different levels of granularity, offering an excellent basis for sparse approximations.

In many machine learning problems, large matrices have complex hierarchical structures that traditional low-rank methods struggle to capture. MMF is an alternative paradigm designed to capture structure at multiple scales. It is particularly effective for compressing the adjacency or Laplacian matrices of complex graphs, such as social networks [2]. MMF factorizations have a number of advantages, including the fact that they are easy to invert and have an interpretation as a form of wavelet analysis on the matrix and consequently on the underlying graph. The wavelets can be used for finding sparse approximations of graph signals.

Finding the actual MMF factorization, however, is a hard optimization problem combining elements of continuous and combinatorial optimization. Most of the existing MMF algorithms just tackle this with a variety of greedy heuristics and are consequently brittle: the resulting factorizations typically have large variance and most of the time yield factorizations that are far from the optimal [3, 4, 5, 6].

This paper proposes an alternative approach to MMF optimization. Specifically, we use an iterative method that optimizes the factorization by backpropagating the factorization error and applying metaheuristic strategies to solve the combinatorial aspects. Although more computationally intensive than greedy methods, this “learnable” MMF produces higher quality factorizations and a wavelet basis that better reflects the structure of the underlying matrix or graph. Consequently, this leads to improved performance in downstream tasks.

To demonstrate the effectiveness of our learnable MMF algorithm, we introduce a wavelet extension of the Spectral Graph Networks algorithm [1], called the Wavelet Neural Network (WNN). Our experiments show that combining learnable MMF with WNNs achieves state-of-the-art results on several graph learning tasks. By addressing the inefficiencies of the approaches based on eigendecomposition, our method provides a fast and effective convolution operation on graphs. Beyond benchmark performance, the enhanced stability of MMF optimization and the hierarchical structure’s similarity to deep neural networks suggest that MMF could be integrated with other learning algorithms in the future.

2 Related work

Multiresolution matrix factorization. Compressing and estimating large matrices has been extensively studied from various directions, including (i) column/row selection methods [7, 8, 9, 10, 11], (ii) Nyström Method [12, 13, 14], (iii) randomized linear algebra [15], and (iv) sparse PCA [16]. Many of these methods come with explicit guarantees but typically make the assumption that the matrix to be approximated is low rank. MMF is more closely related to other works on constructing wavelet bases on discrete spaces, including wavelets defined based on diagonalizing the diffusion operator or the normalized graph Laplacian [17, 18] and multiresolution on trees [19, 20]. MMF has been used for matrix compression [3, 6], kernel approximation [5] and inferring semantic relationships in medical imaging data [4].

[2] proposed a greedy method for multiresolution matrix factorization, which outperforms Nyström methods on matrices with a multilevel structure. Other approaches to solving MMF include utilizing parallelism [3] and implementing an incremental updating scheme [4]. However, these methods rely on suboptimal localized heuristics, whereas our learning algorithm directly addresses global optimization.

Graph neural networks. Graph neural networks (GNNs) utilizing the generalization of convolution concept to graphs have been popularly applied to many learning tasks such as estimating quantum chemical computation [21, 22], modeling physical systems [23], predicting the progress of an epidemic or pandemic [24, 25], etc.

Spectral methods such as [1] provide one way to define convolution on graphs via convolution theorem and Graph Fourier transform (GFT). [26] and [27] both propose methods for learning class-specific descriptors for deformable shapes. Boscaini’s approach [26] uses localized spectral convolutional networks, while Huang’s method [27] involves training a network to embed similar points close to each other in descriptor space. [28] introduced a formulation of CNNs in the context of spectral graph theory, enabling the design of fast localized convolutional filters on graphs. [29] proposed a method for constructing wavelet transforms of functions on weighted graphs using spectral graph theory, defining scaling through the spectral decomposition of the discrete graph Laplacian. To address the high computational cost of GFT, [30] proposed to use the diffusion wavelet bases as previously defined by [17] instead for a faster transformation.

3 Background on Multiresolution Matrix Factorization

The Multiresolution Matrix Factorization (MMF) of a matrix 𝑨n×n{\bm{A}}\in\mathbb{R}^{n\times n} is a factorization of the form

𝑨=𝑼1T𝑼2T𝑼LT𝑯𝑼L𝑼2𝑼1{\bm{A}}={\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{L}^{T}{\bm{H}}{\bm{U}}_{L}\dots{\bm{U}}_{2}{\bm{U}}_{1} (1)

where the 𝑯{\bm{H}} and 𝑼1,,𝑼L{\bm{U}}_{1},\dots,{\bm{U}}_{L} matrices conform to the following constraints:

  • Each 𝐔\mathbf{U}_{\ell} is an orthogonal matrix representing a kk-point rotation for some small kk, meaning it only rotates kk coordinates at a time. These matrices are essentially identity matrices with non-zero entries at a small set of coordinates. For a formal definition of these matrices, please refer to Def. 1.

  • We define [n]={1,2,3,,n}\ignorespaces[n]=\{1,2,3,\ldots,n\} and 𝕀\ignorespaces\mathbb{I}_{\ell} as the set of k\ignorespaces k coordinates rotated by 𝑼\ignorespaces{\bm{U}}_{\ell} . There is a nested sequence of sets 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] such that 𝕀𝕊\mathbb{I}_{\ell}\subseteq{\mathbb{S}}_{\ell}.

  • 𝑯{\bm{H}} is an 𝕊L{\mathbb{S}}_{L}-core-diagonal matrix that is diagonal with an additional small 𝕊L×𝕊L{\mathbb{S}}_{L}\times{\mathbb{S}}_{L} dimensional “core” at specific coordinates in 𝕊L{\mathbb{S}}_{L}. The remaining entries are the same as those in a diagonal matrix. A formal definition of 𝕊L{\mathbb{S}}_{L}-core-diagonal is at Def. 2.

  • 𝕊1\ignorespaces{\mathbb{S}}_{\ell-1}

is can be viewed as the “active set” at the th\ignorespaces\ell^{\text{th}} level because 𝐔\ignorespaces\mathbf{U}_{\ell} is identity matrix outside the set [n]𝕊1\ignorespaces[n]\setminus{\mathbb{S}}_{\ell-1} . The 𝕊\ignorespaces{\mathbb{S}} sets form a nested sequence indicating that when 𝐔\ignorespaces\mathbf{U}_{\ell} is applied at a particular level, the elements in 𝕊𝕊1\ignorespaces{\mathbb{S}}_{\ell}\setminus{\mathbb{S}}_{\ell-1} are excluded from the active set and are not processed in future steps. This process of reducing the active set continues through all L\ignorespaces L levels, resulting in a nested subspace interpretation for the sequence of transformation. [2] makes the connection between MMF and multiresolution analysis [31].

This multiresolution factorization reveals structure at multiple scales by sequentially applying sparse orthogonal transforms to A\ignorespaces A . Each transform affects only a small set of coordinates 𝕀\ignorespaces\mathbb{I}_{\ell} in A\ignorespaces A , leaving the rest unchanged. Initially, an orthogonal transform is applied, and the subset of rows and columns of U1AU1T\ignorespaces U_{1}AU_{1}^{T} that interact the least with the rest of the matrix capture the finest scale structure of A\ignorespaces A . These corresponding rows of U1\ignorespaces U_{1} are labeled as level one wavelets and remain invariant in subsequent steps. The process continues with a second orthogonal transform to produce U2U1AU2TU1T\ignorespaces U_{2}U_{1}AU_{2}^{T}U_{1}^{T} , and this pattern is repeated, resulting in an L\ignorespaces L -level factorization as shown in Eq. 1. The sequence of matrices, U1AU1T\ignorespaces U_{1}AU_{1}^{T} , U2U1AU2TU1T\ignorespaces U_{2}U_{1}AU_{2}^{T}U_{1}^{T} , \ignorespaces\dots ,H\ignorespaces,H can be interpreted as compressed versions of A\ignorespaces A [2].

Finding the best MMF factorization to a symmetric matrix 𝑨{\bm{A}} involves solving

min𝕊L𝕊1𝕊0=[n]𝑯n𝕊L;𝑼1,,𝑼L𝕆𝑨𝑼1T𝑼LT𝑯𝑼L𝑼1.\min_{\begin{subarray}{c}{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n]\\ {\bm{H}}\in{\mathbb{H}}^{{\mathbb{S}}_{L}}_{n}\mathchar 24635\relax\;{\bm{U}}_{1},\dots,{\bm{U}}_{L}\in{\mathbb{O}}\end{subarray}}\|{\bm{A}}-{\bm{U}}_{1}^{T}\dots{\bm{U}}_{L}^{T}{\bm{H}}{\bm{U}}_{L}\dots{\bm{U}}_{1}\|. (2)

Assuming that we measure error in the Frobenius norm, (2) is equivalent to

min𝕊L𝕊1𝕊0=[n]𝑼1,,𝑼L𝕆𝑼L𝑼1𝑨𝑼1T𝑼LTresi2,\min_{\begin{subarray}{c}{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n]\\ {\bm{U}}_{1},\dots,{\bm{U}}_{L}\in{\mathbb{O}}\end{subarray}}\|{\bm{U}}_{L}\dots{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}\dots{\bm{U}}_{L}^{T}\|^{2}_{\text{resi}}, (3)

where resi2\|\cdot\|_{\text{resi}}^{2} is the squared residual norm 𝑯resi2=ij;(i,j)𝕊L×𝕊L|𝑯i,j|2\|{\bm{H}}\|_{\text{resi}}^{2}=\sum_{i\neq j\mathchar 24635\relax\;(i,j)\not\in{\mathbb{S}}_{L}\times{\mathbb{S}}_{L}}\lvert{\bm{H}}_{i,j}\rvert^{2}.

There are two fundamental difficulties in MMF optimization: finding the optimal nested sequence of 𝕊{\mathbb{S}}_{\ell} is a combinatorially hard (e.g., there are (dk){d_{\ell}\choose k} ways to choose kk indices out of 𝕊{\mathbb{S}}_{\ell}); and the solution for 𝑼{\bm{U}}_{\ell} must satisfy the orthogonality constraint such that 𝑼T𝑼=𝑰{\bm{U}}_{\ell}^{T}{\bm{U}}_{\ell}={\bm{I}}. The existing literature on solving this optimization problem [2, 3, 4, 5] has various heuristic elements and has a number of limitations. First of all, there is no guarantee that the greedy heuristics (e.g., clustering) used in selecting kk rows/columns 𝕀={i1,..,ik}𝕊{\mathbb{I}}_{\ell}=\{i_{1},..,i_{k}\}\subset{\mathbb{S}}_{\ell} for each rotation return a globally optimal factorization. Instead of direct optimization for each rotation 𝑼𝑰nk𝕀𝑶{\bm{U}}_{\ell}\triangleq{\bm{I}}_{n-k}\oplus_{{\mathbb{I}}_{\ell}}{\bm{O}}_{\ell} where 𝑶𝕊𝕆(k){\bm{O}}_{\ell}\in{\mathbb{S}}{\mathbb{O}}(k) globally and simultaneously with the objective (2), Jacobi MMFs (see Proposition 2 of [2]) apply the greedy strategy of optimizing them locally and sequentially. Again, this does not necessarily lead to a globally optimal combination of rotations. Furthermore, most MMF algorithms are limited to the simplest case of k=2k=2 where 𝑼{\bm{U}}_{\ell} is just a Givens rotation, which can be parameterized by a single variable, the rotation angle θ\theta_{\ell}. This makes it possible to optimize the greedy objective by simple gradient descent, but larger rotations would yield more expressive factorizations and better approximations.

In contrast, we propose an iterative algorithm to directly optimize the global MMF objective (2):

  • We use gradient descent algorithm on the Stiefel manifold to optimize all rotations {𝑼}=1L\{{\bm{U}}_{\ell}\}_{\ell=1}^{L} simultaneously, whilst satisfying the orthogonality constraints. Importantly, the Stiefel manifold optimization is not limited to k=2k=2 case (Section  4).

  • We try to solve the problem of finding the optimal nested sequence 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] with metaheuristics like evolutionary algorithm and directed evolution. The cost function for this optimization problem is the value returned by the Stiefel manifold optimization algorithm in equation (2).

We show that the resulting learning-based MMF algorithm outperforms existing greedy MMFs and other traditional baselines for matrix approximation in various scenarios (see Section 7).

Our mathematical notations are detailed in Appendix 10. More background of MMF is included in Appendix 11.

4 Stiefel Manifold Optimization

The MMF optimization problem in (2) and (3) is equivalent to

min𝕊L𝕊1𝕊0=[n]min𝑼1,,𝑼L𝕆𝑼L𝑼1𝑨𝑼1T𝑼LTresi2.\min_{{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n]}\min_{{\bm{U}}_{1},\dots,{\bm{U}}_{L}\in{\mathbb{O}}}\|{\bm{U}}_{L}\dots{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}\dots{\bm{U}}_{L}^{T}\|^{2}_{\text{resi}}. (4)

In order to solve the inner optimization problem of (4), we consider the following generic optimization with orthogonality constraints [32]:

min𝑿n×p(𝑿),s.t.𝑿T𝑿=𝑰p,\min_{{\bm{X}}\in\mathbb{R}^{n\times p}}\mathcal{F}({\bm{X}}),\ \ \text{s.t.}\ \ {\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p}, (5)

where 𝑰p{\bm{I}}_{p} is the identity matrix and (𝑿):n×p\mathcal{F}({\bm{X}}):\mathbb{R}^{n\times p}\rightarrow\mathbb{R} is a differentiable function. The feasible set 𝒱p(n)={𝑿n×p:𝑿T𝑿=𝑰p}\mathcal{V}_{p}(\mathbb{R}^{n})=\{{\bm{X}}\in\mathbb{R}^{n\times p}:{\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p}\} is referred to as the Stiefel manifold of pp orthonormal vectors in n\mathbb{R}^{n} that has dimension equal to np12p(p+1)np-\frac{1}{2}p(p+1). We will view 𝒱p(n)\mathcal{V}_{p}(\mathbb{R}^{n}) as an embedded submanifold of n×p\mathbb{R}^{n\times p}.

When there is more than one orthogonal constraint, (5) is written as

min𝑿1𝒱p1(n1),,𝑿q𝒱pq(nq)(𝑿1,,𝑿q)\min_{{\bm{X}}_{1}\in\mathcal{V}_{p_{1}}(\mathbb{R}^{n_{1}}),\dots,{\bm{X}}_{q}\in\mathcal{V}_{p_{q}}(\mathbb{R}^{n_{q}})}\mathcal{F}({\bm{X}}_{1},\dots,{\bm{X}}_{q}) (6)

where there are qq variables with corresponding qq orthogonal constraints.

For example, in the MMF optimization problem (2), suppose we are already given 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] meaning that the indices of active rows/columns at each resolution were already determined, for simplicity. In this case, we have q=Lq=L number of variables such that each variable 𝑿=𝑶k×k{\bm{X}}_{\ell}={\bm{O}}_{\ell}\in\mathbb{R}^{k\times k}, where 𝑼=𝑰nk𝕀𝑶n×n{\bm{U}}_{\ell}={\bm{I}}_{n-k}\oplus_{{\mathbb{I}}_{\ell}}{\bm{O}}_{\ell}\in\mathbb{R}^{n\times n} in which 𝕀{\mathbb{I}}_{\ell} is a subset of kk indices from 𝕊{\mathbb{S}}_{\ell}, must satisfy the orthogonality constraint. The corresponding objective function is

(𝑶1,,𝑶L)=𝑼L𝑼1𝑨𝑼1T𝑼LTresi2.\mathcal{F}({\bm{O}}_{1},\dots,{\bm{O}}_{L})=\|{\bm{U}}_{L}\dots{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}\dots{\bm{U}}_{L}^{T}\|^{2}_{\text{resi}}. (7)

Details about Stiefel manifold optimization are included in Appendix 12.

5 Meta-heuristics

5.1 Problem Formulation

We frame the task of identifying the optimal nested sequence of sets 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] as learning a set of wavelet indices to solve the MMF optimization in (2). This involves two primary components for index selection at each resolution level {1,,L}\ell\in\{1,\ldots,L\}:

  • Select the set of indices 𝕋𝕊1{\mathbb{T}}_{\ell}\subset{\mathbb{S}}_{\ell-1} representing the rows/columns to be wavelets at this level, which are then eliminated by defining 𝕊=𝕊1𝕋{\mathbb{S}}_{\ell}={\mathbb{S}}_{\ell-1}\setminus{\mathbb{T}}_{\ell}. To simplify computation, we assume that each resolution level selects only one row/column as the wavelet, such that |𝕋|=1\lvert{\mathbb{T}}_{\ell}\rvert=1. Consequently, the cardinality of 𝕊{\mathbb{S}}_{\ell} decreases by 1 at each level, giving d=nd_{\ell}=n-\ell. The core block size of 𝑯{\bm{H}} becomes (nL)×(nL)(n-L)\times(n-L), corresponding to exactly nLn-L active rows/columns at the end.

  • Select k1k-1 indices 𝕀={i1,,ik1}𝕊1{\mathbb{I}}_{\ell}=\{i_{1},\ldots,i_{k-1}\}\subset{\mathbb{S}}_{\ell-1} to construct the corresponding rotation matrix 𝑼{\bm{U}}_{\ell} (see Section  4).

𝕊0={1,2,3,4}\lx@inpgf@ignorespaces{\mathbb{S}}_{0}=\{1,2,3,4\} 𝕊1=𝕊0𝕋1={1,3,4}\lx@inpgf@ignorespaces{\mathbb{S}}_{1}={\mathbb{S}}_{0}\setminus{\mathbb{T}}_{1}=\{1,3,4\} 𝕊2=𝕊1𝕋2={1,3}\lx@inpgf@ignorespaces{\mathbb{S}}_{2}={\mathbb{S}}_{1}\setminus{\mathbb{T}}_{2}=\{1,3\} 𝕋1={2},𝕀1={4}\lx@inpgf@ignorespaces{\mathbb{T}}_{1}=\{2\},{\mathbb{I}}_{1}=\{4\} 𝕋2={4},𝕀2={1}\lx@inpgf@ignorespaces{\mathbb{T}}_{2}=\{4\},{\mathbb{I}}_{2}=\{1\} 𝕋3={1},𝕀3={3}\lx@inpgf@ignorespaces{\mathbb{T}}_{3}=\{1\},{\mathbb{I}}_{3}=\{3\} 𝐔𝟏=(10000a110a1300100a310a33)\lx@inpgf@ignorespaces\mathbf{U_{1}}=\begin{pNiceMatrix}1&0&0&0\\ 0&a_{11}&0&a_{13}\\ 0&0&1&0\\ 0&a_{31}&0&a_{33}\end{pNiceMatrix} 𝐔𝟐=(b0000b0301000010b3000b33)\lx@inpgf@ignorespaces\mathbf{U_{2}}=\begin{pNiceMatrix}b_{00}&0&0&b_{03}\\ 0&1&0&0\\ 0&0&1&0\\ b_{30}&0&0&b_{33}\end{pNiceMatrix} 𝐔𝟑=(c000c0200100c200c2200001)\lx@inpgf@ignorespaces\mathbf{U_{3}}=\begin{pNiceMatrix}c_{00}&0&c_{02}&0\\ 0&1&0&0\\ c_{20}&0&c_{22}&0\\ 0&0&0&1\end{pNiceMatrix}
Figure 1: Visualization of the nested set selection process for a 4×4\ignorespaces 4\times 4 matrix 𝐀\ignorespaces\mathbf{A} with L=3\ignorespaces L=3 and k=2\ignorespaces k=2 . The process, depicted from left to right, demonstrates the trimming of the set 𝕊\ignorespaces{\mathbb{S}} . The sets 𝕋\ignorespaces{\mathbb{T}}_{\ell} and 𝕀\ignorespaces{\mathbb{I}}_{\ell} are chosen by metaheuristics, while the orthogonal transform 𝕌\ignorespaces{\mathbb{U}}_{\ell} rotates all k\ignorespaces k coordinates in 𝕋𝕀\ignorespaces{\mathbb{T}}_{\ell}\cup{\mathbb{I}}_{\ell} .

A small example to illustrate this index selection is given in Fig. 1. The two algorithms use the Frobenius error from the Stiefel manifold optimization as the fitness function. In the second step of selecting k1\ignorespaces k-1 indices, we identify the k1\ignorespaces k-1 indices whose rows are closest to the wavelet row in Euclidean distance (see 11.3 for the inspiration of this heuristic), reducing this problem to finding an ordered set of L\ignorespaces L wavelet indices.

In both metaheuristics, the candidate solution is an ordered set of L\ignorespaces L indices chosen as wavelet indices. The fitness function employed is the initial cost from the Stiefel manifold optimization algorithm, without training iterations, to estimate solution quality. This approach is designed to minimize the computational time when running the metaheuristics, as the optimization phase of the Stiefel manifold algorithm is only executed after identifying the best solution through the metaheuristics. Thus, the initial cost from the Stiefel manifold optimization serves as a cost-effective estimate of solution quality.

5.2 Evolutionary Algorithm

We employ a metaheuristics-based approach grounded in evolutionary algorithms to solve the optimization problem of finding the optimal nested sequence for Multiresolution Matrix Factorization (MMF).

Evolutionary algorithms [33], inspired by the process of natural selection and genetics, are particularly effective for complex optimization tasks. Our method iteratively improves a population of candidate solutions by applying operations such as selection, crossover, and mutation. The selection process identifies the most promising candidates based on a fitness function, while crossover and mutation introduce genetic diversity, enabling the exploration of the solution space.

Algorithm 1 Evolutionary Algorithm (EA) for MMF
1: Input: Matrix 2: 𝑨\ignorespaces{\bm{A}} to factorize, number of resolution levels 3: L\ignorespaces L , number of indices chosen for each resolution level 4: k\ignorespaces k , size of the matrix 5: n\ignorespaces n , maximum population size 6: pmax\ignorespaces p_{\max} (must be even), number of iterations 7: imax\ignorespaces i_{\max} , mutation rate 8: m\ignorespaces m ( 9: 0m1\ignorespaces 0\leq m\leq 1 ), the fitness function 10: f\ignorespaces f representing the Frobenius error from the Stiefel manifold optimization algorithm.
11: Initialize the population 12: P\ignorespaces P with 13: pmax\ignorespaces p_{\max} random ordered sets of size 14: L\ignorespaces L from the range 15: [1,n]\ignorespaces[1,n]
16: Initialize 17: σ\ignorespaces\sigma^{*} as a random solution
18: for i=1i=1 to imaxi_{\max} do
19:   Evaluate fitness 20: f(σ)\ignorespaces f(\sigma) for each candidate 21: σP\ignorespaces\sigma\in P
22:   Select the top half of the candidates in 23: P\ignorespaces P based on fitness, denoted as 24: Pparents\ignorespaces P_{\text{parents}}
25:    26: Poffspring\ignorespaces P_{\text{offspring}}\leftarrow\emptyset
27:   for j=1j=1 to pmax2\frac{p_{\max}}{2} do
28:    Randomly select 2 parents 29: σ1,σ2Pparents\ignorespaces\sigma_{1},\sigma_{2}\in P_{\text{parents}}
30:     31: τ1,τ2Crossover(σ1,σ2)\ignorespaces\tau_{1},\tau_{2}\leftarrow\text{Crossover}(\sigma_{1},\sigma_{2})
32:     33: PoffspringPoffspring{τ1,τ2}\ignorespaces P_{\text{offspring}}\leftarrow P_{\text{offspring}}\cup\{\tau_{1},\tau_{2}\}
34:   end for
35:   for each 36: τPoffspring\ignorespaces\tau\in P_{\text{offspring}} do
37:    With probability 38: m\ignorespaces m , swap 2 random values in 39: τ\ignorespaces\tau
40:    With probability 41: m\ignorespaces m , replace a random value in 42: τ\ignorespaces\tau with a new value not already in 43: τ\ignorespaces\tau
44:   end for
45:    46: PPoffspring\ignorespaces P\leftarrow P_{\text{offspring}}
47:    48: σargminσPf(σ)\ignorespaces\sigma^{\prime}\leftarrow\text{argmin}_{\sigma\in P}f(\sigma)
49:   if 50: f(σ)<f(σ)\ignorespaces f(\sigma^{\prime})<f(\sigma^{*}) then
51:     52: σσ\ignorespaces\sigma^{*}\leftarrow\sigma^{\prime}
53:   end if
54: end for
55: Return: 56: σ\ignorespaces\sigma^{*}

The mutation part of the algorithm consists of two independent mutation operators. The first mutation operator is randomly swapping two indices of the candidate solution. The second mutation operator is replacing a random value in the ordered set with another value which is not already in the solution. A solution cannot have duplicated values.

The crossover operator used in our approach is a random one-point crossover. However, a challenge arises because this crossover can create invalid offspring with duplicated elements if both parents have common elements. To address this issue, we implement a strategy to separate the values common to both parents from the other values.

Specifically, the values that are common to both parents will be preserved and not subjected to crossover. Next, we separate the remaining values (those not common to both parents) into two new sets of genes. These new sets will contain only unique values, ensuring that no duplicates are present. A normal one-point crossover can be perfomed on these new gene sets, creating two new sets of genes without any common values. After the crossover, reinsert the common values back into the respective offspring. This ensures that the offspring are valid and maintain the necessary elements from both parents without any duplication. Fig. 2 details an example using this crossover operator.

By using this method, we ensure that the resulting offspring are valid and retain genetic diversity from both parents while avoiding any duplicate values.

Algorithm 2 Crossover Algorithm
1: Input: Two sequences of distinct values 2: σ1\ignorespaces\sigma_{1} , 3: σ2\ignorespaces\sigma_{2} .
4: 5: Dσ1σ2\ignorespaces D\leftarrow\sigma_{1}\cap\sigma_{2}
6: 7: σ1σ1D\ignorespaces\sigma_{1}^{\prime}\leftarrow\sigma_{1}\setminus D
8: 9: σ2σ2D\ignorespaces\sigma_{2}^{\prime}\leftarrow\sigma_{2}\setminus D
10: 11: τ1τ2OnePointCrossover(σ1σ2)\ignorespaces\tau_{1}^{\prime}\text{, }\tau_{2}^{\prime}\leftarrow\text{OnePointCrossover}(\sigma_{1}^{\prime}\text{, }\sigma_{2}^{\prime})
12: 13: τ1τ1D\ignorespaces\tau_{1}\leftarrow\tau_{1}^{\prime}\cup D
14: 15: τ2τ2D\ignorespaces\tau_{2}\leftarrow\tau_{2}^{\prime}\cup D
16: Return: 17: τ1τ2\ignorespaces\tau_{1}\text{, }\tau_{2}
Parent 1: [1, 2, 3, 4, 5, 6]Parent 2: [4, 5, 6, 7, 8, 9]Common Values: {4, 5, 6}Unique Values in Parent 1: {1, 2, 3}Unique Values in Parent 2: {7, 8, 9}Perform one-point crossover on unique values:Crossover Point: 2Unique Offspring 1: [1, 2, 9]Unique Offspring 2: [7, 8, 3]Offspring 1: [1, 2, 9, 4, 5, 6]Offspring 2: [7, 8, 3, 4, 5, 6]
Figure 2: One-point crossover with common and unique values.

5.3 Directed Evolution

Directed evolution, a laboratory methodology wherein biological entities possessing desired characteristics are generated through iterative cycles of genetic diversification and library screening or selection, has emerged as a highly valuable and extensively utilized instrument in both fundamental and practical realms of biological research [34, 35, 36].

Algorithm 3 Directed Evolution for MMF
1: Input: Matrix 2: 𝑨\ignorespaces{\bm{A}} to factorize, number of resolution levels 3: L\ignorespaces L , number of indices chosen for each resolution level 4: k\ignorespaces k , size of the matrix 5: n\ignorespaces n , maximum population size 6: pmax\ignorespaces p_{\max} (must be even), number of iterations 7: imax\ignorespaces i_{\max} , the fitness function 8: f\ignorespaces f representing the Frobenius error from the Stiefel manifold optimization algorithm.
9: Initialize the population 10: P\ignorespaces P with 11: pmax\ignorespaces p_{\max} random ordered sets of size 12: L\ignorespaces L from the range 13: [1,n]\ignorespaces[1,n]
14: Initialize 15: σ\ignorespaces\sigma^{*} as a random solution
16: for i=1i=1 to imaxi_{\max} do
17:   Evaluate fitness 18: f(σ)\ignorespaces f(\sigma) for each candidate 19: σP\ignorespaces\sigma\in P
20:   Select the top half of the candidates in 21: P\ignorespaces P based on fitness, denoted as 22: Pparents\ignorespaces P_{\text{parents}}
23:    24: Poffspring\ignorespaces P_{\text{offspring}}\leftarrow\emptyset
25:   for each 26: σPparents\ignorespaces\sigma\in P_{\text{parents}} do
27:     28: τσ\ignorespaces\tau\leftarrow\sigma
29:    Swap 2 random values in 30: τ\ignorespaces\tau
31:    Replace a random value in 32: τ\ignorespaces\tau with a new value not already in 33: τ\ignorespaces\tau
34:     35: PoffspringPoffspring{τ}\ignorespaces P_{\text{offspring}}\leftarrow P_{\text{offspring}}\cup\{\tau\}
36:   end for
37:    38: PPparentsPoffspring\ignorespaces P\leftarrow P_{\text{parents}}\cup P_{\text{offspring}}
39:    40: σargminσPf(σ)\ignorespaces\sigma^{\prime}\leftarrow\text{argmin}_{\sigma\in P}f(\sigma)
41:   if 42: f(σ)<f(σ)\ignorespaces f(\sigma^{\prime})<f(\sigma^{*}) then
43:     44: σσ\ignorespaces\sigma^{*}\leftarrow\sigma^{\prime}
45:   end if
46: end for
47: Return: 48: σ\ignorespaces\sigma^{*}

This directed evolution algorithm uses the same mutation operators as the evolutionary algorithm. Mutation is performed on every member of the parent population. The parent population is part of the next generation.

Figure 3: Metaheuristics convergence for Karate Club data. Selection process based on Evolutionary Algorithm (EA) and Directed Evolution (DE) outperforms the original heuristics proposed by [2].
Method Runtime (seconds)
Original MMF 0.044
Random indices MMF 0.012
Heuristics MMF 0.022
EA MMF 115.726
DE MMF 4.641
Table 1: Runtimes for different MMF methods.
=1\ell=1 =20\ell=20 =39\ell=39
Figure 4: Visualization of some of the wavelets on the Cayley tree of 46 vertices. The low index wavelets (low \ell) are highly localized, whereas the high index ones are smoother and spread out over large parts of the graph.

Figure 3 illustrates the convergence behavior of two metaheuristics applied to the Karate Club matrix, contrasted with various random and heuristic baselines. Notably, after 100 generations, the Evolutionary Algorithm (EA) surpasses all other baselines in performance. Additionally, Directed Evolution (DE) demonstrates effective MMF approximation. However, it is worth noting that EA requires significantly more time to reach convergence over 100 generations. This disparity in time consumption is attributed to the larger population size initialized in EA compared to DE. Other heuristic baselines, although quicker, fail to provide comparably accurate approximations as the two metaheuristics.

Figure 4 depicts the wavelet bases at different levels of resolution. The low index wavelets are localized since it teases out distinct local structures of the matrix, separating it into rough and smoother components. The higher wavelet bases are left only with the smooth part of the matrix. This observation aligns with the interpretation provided for MMF in 11.2.

6 Wavelet Neural Networks on Graphs

6.1 Motivation

The eigendecomposition of the normalized graph Laplacian operator 𝑳~=𝑼T𝑯𝑼\tilde{{\bm{L}}}={\bm{U}}^{T}{\bm{H}}{\bm{U}} can be used as the basis of a graph Fourier transform. [37] defines graph Fourier transform (GFT) on a graph 𝒢=(V,E)\mathcal{G}=(V,E) of a graph signal 𝒇n{\bm{f}}\in\mathbb{R}^{n} (that is understood as a function f:Vf:V\rightarrow\mathbb{R} defined on the vertices of the graph) as 𝒇^=𝑼T𝒇\hat{{\bm{f}}}={\bm{U}}^{T}{\bm{f}}, and the inverse graph Fourier transform as 𝒇=𝑼𝒇^{\bm{f}}={\bm{U}}\hat{{\bm{f}}}. Analogously to the classical Fourier transform, GFT provides a way to represent a graph signal in two domains: the vertex domain and the graph spectral domain; to filter graph signal according to smoothness; and to define the graph convolution operator, denoted as 𝒢*_{\mathcal{G}}:

𝒇𝒢𝒈=𝑼((𝑼T𝒈)(𝑼T𝒇)),{\bm{f}}*_{\mathcal{G}}{\bm{g}}={\bm{U}}\big(({\bm{U}}^{T}{\bm{g}})\odot({\bm{U}}^{T}{\bm{f}})\big), (8)

where 𝒈{\bm{g}} denotes the convolution kernel, and \odot is the element-wise Hadamard product. If we replace the vector 𝑼T𝒈{\bm{U}}^{T}{\bm{g}} by a diagonal matrix 𝒈~\tilde{{\bm{g}}}, then we can rewrite the Hadamard product in Eq. (8) to matrix multiplication as 𝑼𝒈~𝑼T𝒇{\bm{U}}\tilde{{\bm{g}}}{\bm{U}}^{T}{\bm{f}} (that is understood as filtering the signal 𝒇{\bm{f}} by the filter 𝒈~\tilde{{\bm{g}}}). Based on GFT, [1] and [38] construct convolutional neural networks (CNNs) learning on spectral domain for discrete structures such as graphs. However, there are two fundamental limitations of GFT:

  • High computational cost: eigendecomposition of the graph Laplacian has complexity O(n3)O(n^{3}), and “Fourier transform” itself involves multiplying the signal with a dense matrix of eigenvectors.

  • The graph convolution is not localized in the vertex domain, even if the graph itself has well defined local communities.

To address these limitations, we propose a modified spectral graph network based on the MMF wavelet basis rather than the eigenbasis of the Laplacian. This has the following advantages: (i) the wavelets are generally localized in both vertex domain and frequency, (ii) the individual basis transforms are sparse, and (iii) MMF provides a computationally efficient way of decomposing graph signals into components at different granularity levels and an excellent basis for sparse approximations.

6.2 Network construction

In this section, we define a convolution layer based on the wavelet bases from the MMF. This construction is inspired mainly from the GFT defined in [1] and the connection between MMF and multiresolution analysis suggested in [2].

[2] demonstrated that MMF aligns with the classical theory of multiresolution analysis (MRA), transitioning from the real line [31] to discrete spaces. In MRA of a symmetric matrix An×n\ignorespaces A\in\mathbb{R}^{n\times n} , the goal is to identify a sequence of subspaces:

𝕍L𝕍2𝕍1𝕍0{\mathbb{V}}_{L}\subset\dots\subset{\mathbb{V}}_{2}\subset{\mathbb{V}}_{1}\subset{\mathbb{V}}_{0} (9)

The process is akin to an iterative refinement, where each subspace 𝕍\ignorespaces{\mathbb{V}}_{\ell} is decomposed into an orthogonal sum: 𝕍=𝕍+1𝕎+1\ignorespaces{\mathbb{V}}_{\ell}={\mathbb{V}}_{\ell+1}\oplus{\mathbb{W}}_{\ell+1} , comprising a smoother part 𝕍+1\ignorespaces{\mathbb{V}}_{\ell+1} (the approximation space) and a rougher part 𝕎+1\ignorespaces{\mathbb{W}}_{\ell+1} (the detail space) (refer to Fig. 6). Within each subspace 𝕍\ignorespaces{\mathbb{V}}_{\ell} , there exists an orthonormal basis denoted by Φ{ϕm}m\ignorespaces\Phi_{\ell}\triangleq\{\phi_{m}^{\ell}\}_{m} , where each basis function is referred to as a father wavelet. Similarly, the complementary space 𝕎\ignorespaces{\mathbb{W}}_{\ell} possesses an orthonormal basis denoted by Ψ{ψm}m\ignorespaces\Psi_{\ell}\triangleq\{\psi_{m}^{\ell}\}_{m} , with each basis function termed a mother wavelet (see 11.2 for a deeper exploration of MMF’s interpretation within multiresolution analysis). Based on these wavelet bases, we can define a wavelet transform for a symmetric matrix.

In the case 𝑨{\bm{A}} is the normalized graph Laplacian of a graph 𝒢=(V,E)\mathcal{G}=(V,E), the wavelet transform (up to level LL) expresses a graph signal (function over the vertex domain) f:Vf:V\rightarrow\mathbb{R}, without loss of generality f𝕍0f\in{\mathbb{V}}_{0}, as:

f(v)==1Lmαmψm(v)+mβmϕmL(v),for eachvV,f(v)=\sum_{\ell=1}^{L}\sum_{m}\alpha_{m}^{\ell}\psi_{m}^{\ell}(v)+\sum_{m}\beta_{m}\phi_{m}^{L}(v),\ \ \ \ \text{for each}\ \ v\in V,

where αm=f,ψm\alpha_{m}^{\ell}=\langle f,\psi_{m}^{\ell}\rangle and βm=f,ϕmL\beta_{m}=\langle f,\phi_{m}^{L}\rangle are the wavelet coefficients. At each level, a set of coordinates 𝕋𝕊1{\mathbb{T}}_{\ell}\subset{\mathbb{S}}_{\ell-1} are selected to be the wavelet indices, and then to be eliminated from the active set by setting 𝕊=𝕊1𝕋{\mathbb{S}}_{\ell}={\mathbb{S}}_{\ell-1}\setminus{\mathbb{T}}_{\ell} (see Section 5.1). Practically, we make the assumption that we only select 11 wavelet index for each level that results in a single mother wavelet ψ=[𝑨]i,:\psi^{\ell}=[{\bm{A}}_{\ell}]_{i^{*},:} where ii^{*} is the selected index (see Section 5.1). We get exactly LL mother wavelets ψ¯={ψ1,ψ2,,ψL}\overline{\psi}=\{\psi^{1},\psi^{2},\dots,\psi^{L}\}. On the another hand, the active rows of 𝑯=𝑨L{\bm{H}}={\bm{A}}_{L} make exactly NLN-L father wavelets ϕ¯={ϕmL=𝑯m,:}m𝕊L\overline{\phi}=\{\phi^{L}_{m}={\bm{H}}_{m,:}\}_{m\in{\mathbb{S}}_{L}}. In total, a graph of NN vertices has exactly NN wavelets (both mothers and fathers).

Analogous to the convolution based on GFT [1], each convolution layer k=1,..,Kk=1,..,K of our wavelet network transforms an input vector 𝒇(k1){\bm{f}}^{(k-1)} of size |V|×Fk1\lvert V\rvert\times F_{k-1} into an output 𝒇(k){\bm{f}}^{(k)} of size |V|×Fk\lvert V\rvert\times F_{k} as

𝒇:,j(k)=σ(𝑾i=1Fk1𝒈i,j(k)𝑾T𝒇:,i(k1))forj=1,,Fk,{\bm{f}}^{(k)}_{:,j}=\sigma\bigg({\bm{W}}\sum_{i=1}^{F_{k-1}}{\bm{g}}^{(k)}_{i,j}{\bm{W}}^{T}{\bm{f}}^{(k-1)}_{:,i}\bigg)\ \ \ \ \text{for}\ \ j=1,\dots,F_{k}, (10)

where 𝑾{\bm{W}} is our wavelet basis matrix as we concatenate ϕ¯\overline{\phi} and ψ¯\overline{\psi} column-by-column, 𝒈i,j(k){\bm{g}}^{(k)}_{i,j} is a parameter/filter in the form of a diagonal matrix learned in spectral domain similar to the filter used in the original GFT construction [1], and σ\sigma is an element-wise linearity (e.g., ReLU, sigmoid, etc.). Each layer transforms the input features f(k1)\ignorespaces f^{(k-1)} into a different domain, performs filtering operations defined by the parameter g(k)\ignorespaces g^{(k)} before reverting features back to the original domain. The training process is responsible for tuning the filter g(k)\ignorespaces g^{(k)} to extract relevant information from the input graph signal.

7 Experiments

7.1 Molecular graphs classification

Method MUTAG PTC PROTEINS NCI1
DGCNN [39] 85.83 ±\pm 1.7 58.59 ±\pm 2.5 75.54 ±\pm 0.9 74.44 ±\pm 0.5
PSCN [40] 88.95 ±\pm 4.4 62.29 ±\pm 5.7 75 ±\pm 2.5 76.34 ±\pm 1.7
DCNN [41] N/A N/A 61.29 ±\pm 1.6 56.61 ±\pm 1.0
CCN [21] 91.64 ±\pm 7.2 70.62 ±\pm 7.0 N/A 76.27 ±\pm 4.1
GK [42] 81.39 ±\pm 1.7 55.65 ±\pm 0.5 71.39 ±\pm 0.3 62.49 ±\pm 0.3
RW [43] 79.17 ±\pm 2.1 55.91 ±\pm 0.3 59.57 ±\pm 0.1 N/A
PK [44] 76 ±\pm 2.7 59.5 ±\pm 2.4 73.68 ±\pm 0.7 82.54 ±\pm 0.5
WL [45] 84.11 ±\pm 1.9 57.97 ±\pm 2.5 74.68 ±\pm 0.5 84.46 ±\pm 0.5
IEGN [46] 84.61 ±\pm 10 59.47 ±\pm 7.3 75.19 ±\pm 4.3 73.71 ±\pm 2.6
MMF 86.31 ±\pm 9.47 67.99 ±\pm 8.55 78.72 ±\pm 2.53 71.04 ±\pm 1.53
Table 2: Molecular graphs classification. Baseline results are taken from [46].

We trained and evaluated our wavelet networks (WNNs) on standard graph classification benchmarks including four bioinformatics datasets: (1) MUTAG, which is a dataset of 188 mutagenic aromatic and heteroaromatic nitro compounds with 7 discrete labels [47]; (2) PTC, which consists of 344 chemical compounds with 19 discrete labels that have been tested for positive or negative toxicity in lab rats [48]; (3) PROTEINS, which contains 1,113 molecular graphs with binary labels, where nodes are secondary structure elements (SSEs) and there is an edge between two nodes if they are neighbors in the amino-acid sequence or in 3D space [49]; (4) NCI1, which has 4,110 compounds with binary labels, each screened for activity against small cell lung cancer and ovarian cancer lines [50]. Each molecule is represented by an adjacency matrix, and we represent each atomic type as a one-hot vector and use them as the node features.

We factorize all normalized graph Laplacian matrices in these datasets by MMF with K=2K=2 to obtain the wavelet bases. Again, MMF wavelets are sparse and suitable for fast transform via sparse matrix multiplication. The sparsity of wavelet bases, as shown in Table 3, highlights a significant compression compared to the Fourier bases derived from the eigendecomposition of the graph Laplacian.

Dataset Fourier bases Wavelet bases
MUTAG 99.71% 19.23%
PTC 99.30% 18.18%
PROTEINS 99.33% 2.26%
NCI1 99.04% 11.43%
Table 3: Sparsity bases (i.e. percentage of non-zeros).

Our WNNs contain 6 layers of spectral convolution, 32 hidden units for each node, and are trained with 256 epochs by Adam optimization with an initial learning rate of 10310^{-3}. We follow the evaluation protocol of 10-fold cross-validation from [39]. We compare our results to several deep learning methods and popular graph kernel methods. Baseline results are taken from [46].

For graph kernel methods, we compare our model with four popular approaches: the graphlet kernel (GK), the random walk kernel (RW), the propagation kernel (PK), and the Weisfeiler-Lehman subtree kernel (WL). Each of these methods employs unique strategies for capturing graph structure and similarity. The graphlet kernel focuses on counting occurrences of small subgraphs, known as graphlets, to measure graph similarity. In contrast, the random walk kernel simulates random walks on graphs and compares the distributions of these walks to compute similarity. The propagation kernel, on the other hand, considers the propagation of labels or information through the graph to determine similarity. Lastly, the Weisfeiler-Lehman subtree kernel compares graphs based on the structural information captured by subtrees rooted at each node, iteratively refining node representations. Our results demonstrate that our method outperforms all other kernel methods on three datasets: MUTAG, PTC, and PROTEINS. However, the WL kernel achieves the best performance on the NCI1 dataset.

For deep learning methods, we compare our model with five established approaches from the literature: DGCNN, PSCN, DCNN, CCN, and IEGN. Thse deep learning methods are more closely related to our WWN, as they all leverage neural network architectures for graph analysis. Our method ranks 3rd on the MUTAG dataset, 2nd on the PTC dataset, 1st on the PROTEINS dataset, and performs the worst on the NCI1 dataset.

Our WNNs outperform 6/8, 7/8, 8/8, and 2/8 baseline methods on MUTAG, PTC, PROTEINS, and NCI1, respectively (see Table 2).

Despite these promising results, our WNN model has some limitations that we need to address in future work. One significant limitation is its performance on the NCI1 dataset, where it doese not perform as well as other methods. This suggests that our model might struggle with certain types of graphs or larger datasets. Especially considering that among the four datasets, NCI1 has the largest number of unique atom types (37, compared to less than 20 in the other three datasets) and it is also the largest dataset in terms of size. Nonetheless, further experimentation is needed to confirm the types of graph for which the model’s accuracy is suboptimal.

7.2 Node classification on citation graphs

To further evaluate the wavelet bases returned by our learnable MMF algorithm, we construct our wavelet networks (WNNs) as in Sec. 6 and apply it to the task of node classification on two citation graphs, Cora (N=2,708)(N=2,708) and Citeseer (N=3,312)(N=3,312) [51] in which nodes and edges represent documents and citation links.

In node classification tasks, assume the number of classes is CC, the set of labeled nodes is VlabelV_{\text{label}}, and we are given a normalized graph Laplacian L~\tilde{L} and an input node feature matrix 𝒇(0){\bm{f}}^{(0)}. First of all, we apply our MMF learning algorithm to factorize L~\tilde{L} and produce our wavelet basis matrix 𝑾{\bm{W}}. Then, we construct our wavelet network as a multi-layer CNNs with each convolution is defined as in Eq. (10) that transforms 𝒇(0){\bm{f}}^{(0)} into 𝒇(K){\bm{f}}^{(K)} after KK layers. The top convolution layer KK-th returns exactly FK=CF_{K}=C features and uses softmax instead of the nonlinearity σ\sigma for each node. The loss is the cross-entropy error over all labeled nodes as:

=vVlabelc=1C𝒚v,cln𝒇(K)v,c,\mathcal{L}=-\sum_{v\in V_{\text{label}}}\sum_{c=1}^{C}{\bm{y}}_{v,c}\ln{\bm{f}}^{(K)}_{v,c}, (11)

where 𝒚v,c{\bm{y}}_{v,c} is a binary indicator that is equal to 11 if node vv is labeled with class cc, and 00 otherwise. The set of weights {𝒈(k)}k=1K\{{\bm{g}}^{(k)}\}_{k=1}^{K} are trained using gradient descent optimizing the loss in Eq. (11).

Each document in Cora and Citeseer has an associated feature vector (of length 1,4331,433 resp. 3,7033,703) computed from word frequencies, and is classified into one of 77 and 66 classes, respectively. We factorize the normalized graph Laplacian by learnable MMF with K=16K=16 to obtain the wavelet bases. The resulting MMF wavelets are sparse, which makes it possible to run a fast transform on the node features by sparse matrix multiplication: only 4.69%4.69\% and 15.25%15.25\% of elements are non-zero in Citeseer and Cora, respectively. In constrast, Fourier bases given by eigendecomposition of the graph Laplacian are completely dense (100%100\% of elements are non-zero). We evaluate our WNNs with 3 different random splits of train/validation/test: (1) 20%20\%/20%20\%/60%60\% denoted as MMF1, (2) 40%40\%/20%20\%/40%40\% denoted as MMF2, and (3) 60%60\%/20%20\%/20%20\% denoted as MMF3. The WNN learns to encode the whole graph with 66 layers of spectral convolution and 100100 hidden dimensions for each node. During training, the network is only trained to predict the node labels in the training set. Hyperparameter searching is done on the validation set. The number of epochs is 256256 and we use the Adam optimization method [52] with learning rate η=103\eta=10^{-3}. We report the final test accuracy for each split in Table 4.

We compare with several traditional methods and deep learning methods including other spectral graph convolution networks such as Spectral CNN, and graph wavelet neural networks (GWNN). Baseline results are taken from [30]. Our wavelet networks perform competitively against state-of-the-art methods in the field.

Method Cora Citeseer
MLP 55.1% 46.5%
ManiReg [53] 59.5% 60.1%
SemiEmb [54] 59.0% 59.6%
LP [55] 68.0% 45.3%
DeepWalk [56] 67.2% 43.2%
ICA [57] 75.1% 69.1%
Planetoid [58] 75.7% 64.7%
Spectral CNN [1] 73.3% 58.9%
ChebyNet [38] 81.2% 69.8%
GCN [59] 81.5% 70.3%
MoNet [60] 81.7% N/A
GWNN [30] 82.8% 71.7%
MMF1 84.35% 68.07%
MMF2 84.55% 72.76%
MMF3 87.59% 72.90%
Table 4: Node classification on citation graphs. Baseline results are taken from [30].

7.3 Matrix factorization

We evaluate the performance of our MMF learning algorithm in comparison with the original greedy algorithm [2] and the Nyström method [61] in the task of matrix factorization on 3 datasets: (i) normalized graph Laplacian of the Karate club network (N=34N=34, E=78E=78) [62]; (ii) a Kronecker product matrix (N=512N=512), 𝒦1n\mathcal{K}_{1}^{n}, of order n=9n=9, where 𝒦1=((0,1),(1,1))\mathcal{K}_{1}=((0,1),(1,1)) is a 2×22\times 2 seed matrix [63]; and (iii) normalized graph Laplacian of a Cayley tree or Bethe lattice with coordination number z=4z=4 and 44 levels of depth (N=161N=161). The rotation matrix size KK are 88, 1616 and 88 for Karate, Kronecker and Cayley, respectively. Meanwhile, the original greedy MMF is limited to K=2K=2 and implements an exhaustive search to find an optimal pair of indices for each rotation. For both versions of MMF, we drop c=1c=1 columns after each rotation, which results in a final core size of dL=Nc×Ld_{L}=N-c\times L. The exception is for the Kronecker matrix (N=512N=512), our learning algorithm drops up to 88 columns (for example, L=62L=62 and c=8c=8 results into dL=16d_{L}=16) to make sure that the number of learnable parameters L×K2L\times K^{2} is much smaller the matrix size N2N^{2}. Our learning algorithm compresses the Kronecker matrix down to 67%6-7\% of its original size. The details of efficient training reinforcement learning with the policy networks implemented by GNNs are included in the Appendix.

For the baseline of Nyström method, we randomly select, by uniform sampling without replacement, the same number dLd_{L} columns 𝑪{\bm{C}} from 𝑨{\bm{A}} and take out 𝑾{\bm{W}} as the corresponding dL×dLd_{L}\times d_{L} submatrix of 𝑨{\bm{A}}. The Nyström method approximates 𝑨𝑪𝑾𝑪T{\bm{A}}\approx{\bm{C}}{\bm{W}}^{\dagger}{\bm{C}}^{T}. We measure the approximation error in Frobenius norm. Figure 5 shows our MMF learning algorithm consistently outperforms the original greedy algorithm and the Nyström baseline given the same number of active columns, dLd_{L}.

Figure 5: Matrix factorization for the Karate network (left), Kronecker matrix (middle), and Cayley tree (right). Our learnable MMF consistently outperforms the classic greed methods.

8 Software

We implemented our learning algorithm for MMF and the wavelet networks by PyTorch deep learning framework (64). We released our implementation at https://github.com/HySonLab/LearnMMF/.

9 Conclusions

In this paper we introduced a general algorithm based on Stiefel manifold optimization and evolutionary metaheuristics (e.g., Evolutionary Algorithm and Directed Evolution) to optimize Multiresolution Matrix Factorization (MMF). We find that the resulting learnable MMF consistently outperforms the existing greedy and heuristic MMF algorithms in factorizing and approximating hierarchical matrices. Based on the wavelet basis returned from our learning algorithm, we define a corresponding notion of spectral convolution and construct a wavelet neural network for graph learning problems. Thanks to the sparsity of the MMF wavelets, the wavelet network can be efficiently implemented with sparse matrix multiplication. We find that this combination of learnable MMF factorization and spectral wavelet network yields competitive results on standard node classification and molecular graph classification.

References

  • (1) Bruna, J., Zaremba, W., Szlam, A., Lecun, Y.: Spectral networks and locally connected networks on graphs. In: International Conference on Learning Representations (ICLR2014), CBLS, April 2014 (2014)
  • (2) Kondor, R., Teneva, N., Garg, V.: Multiresolution matrix factorization. In: Xing, E.P., Jebara, T. (eds.) Proceedings of the 31st International Conference on Machine Learning. Proceedings of Machine Learning Research, vol. 32, pp. 1620–1628. PMLR, Bejing, China (2014). https://proceedings.mlr.press/v32/kondor14.html
  • (3) Teneva, N., Mudrakarta, P.K., Kondor, R.: Multiresolution matrix compression. In: Gretton, A., Robert, C.C. (eds.) Proceedings of the 19th International Conference on Artificial Intelligence and Statistics. Proceedings of Machine Learning Research, vol. 51, pp. 1441–1449. PMLR, Cadiz, Spain (2016). https://proceedings.mlr.press/v51/teneva16.html
  • (4) Ithapu, V.K., Kondor, R., Johnson, S.C., Singh, V.: The incremental multiresolution matrix factorization algorithm. In: 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 692–701 (2017). https://doi.org/10.1109/CVPR.2017.81
  • (5) Ding, Y., Kondor, R., Eskreis-Winkler, J.: Multiresolution kernel approximation for gaussian process regression. In: Proceedings of the 31st International Conference on Neural Information Processing Systems. NIPS’17, pp. 3743–3751. Curran Associates Inc., Red Hook, NY, USA (2017)
  • (6) Hy, T.S., Kondor, R.: Multiresolution matrix factorization and wavelet networks on graphs. In: Cloninger, A., Doster, T., Emerson, T., Kaul, M., Ktena, I., Kvinge, H., Miolane, N., Rieck, B., Tymochko, S., Wolf, G. (eds.) Proceedings of Topological, Algebraic, and Geometric Learning Workshops 2022. Proceedings of Machine Learning Research, vol. 196, pp. 172–182. PMLR, ??? (2022). https://proceedings.mlr.press/v196/hy22a.html
  • (7) Drineas, P., Kannan, R., Mahoney, M.W.: Fast monte carlo algorithms for matrices i: Approximating matrix multiplication. SIAM J. Comput. 36(1), 132–157 (2006). https://doi.org/10.1137/S0097539704442684
  • (8) Drineas, P., Kannan, R., Mahoney, M.W.: Fast monte carlo algorithms for matrices ii: Computing a low-rank approximation to a matrix. SIAM J. Comput. 36, 158–183 (2006)
  • (9) Drineas, P., Kannan, R., Mahoney, M.W.: Fast monte carlo algorithms for matrices iii: Computing a compressed approximate matrix decomposition. SIAM J. Comput. 36(1), 184–206 (2006). https://doi.org/10.1137/S0097539704442702
  • (10) Achlioptas, D., Mcsherry, F.: Fast computation of low-rank matrix approximations. J. ACM 54(2), 9 (2007). https://doi.org/10.1145/1219092.1219097
  • (11) Halko, N., Martinsson, P.G., Tropp, J.A.: Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions. SIAM Review 53(2), 217–288 (2011) https://doi.org/10.1137/090771806. https://doi.org/10.1137/090771806
  • (12) Williams, C.K.I., Seeger, M.W.: Using the nyström method to speed up kernel machines. In: Neural Information Processing Systems (2000). https://api.semanticscholar.org/CorpusID:42041158
  • (13) Kumar, S., Mohri, M., Talwalkar, A.: Sampling techniques for the nystrom method. In: van Dyk, D., Welling, M. (eds.) Proceedings of the Twelth International Conference on Artificial Intelligence and Statistics. Proceedings of Machine Learning Research, vol. 5, pp. 304–311. PMLR, Hilton Clearwater Beach Resort, Clearwater Beach, Florida USA (2009). https://proceedings.mlr.press/v5/kumar09a.html
  • (14) Kumar, S., Mohri, M., Talwalkar, A.: Sampling methods for the nystrom method. Journal of Machine Learning Research 13(34), 981–1006 (2012)
  • (15) Mahoney, M.W.: Randomized algorithms for matrices and data. Found. Trends Mach. Learn. 3(2), 123–224 (2011). https://doi.org/10.1561/2200000035
  • (16) Jenatton, R., Obozinski, G., Bach, F.: Structured sparse principal component analysis. In: Teh, Y.W., Titterington, M. (eds.) Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. Proceedings of Machine Learning Research, vol. 9, pp. 366–373. PMLR, Chia Laguna Resort, Sardinia, Italy (2010). https://proceedings.mlr.press/v9/jenatton10a.html
  • (17) Coifman, R.R., Maggioni, M.: Diffusion wavelets. Applied and Computational Harmonic Analysis 21(1), 53–94 (2006). https://doi.org/10.1016/j.acha.2006.04.004. Special Issue: Diffusion Maps and Wavelets
  • (18) Hammond, D.K., Vandergheynst, P., Gribonval, R.: Wavelets on graphs via spectral graph theory. Applied and Computational Harmonic Analysis 30(2), 129–150 (2011). https://doi.org/10.1016/j.acha.2010.04.005
  • (19) Gavish, M., Nadler, B., Coifman, R.R.: Multiscale wavelets on trees, graphs and high dimensional data: Theory and applications to semi supervised learning. In: Proceedings of the 27th International Conference on International Conference on Machine Learning. ICML’10, pp. 367–374. Omnipress, Madison, WI, USA (2010)
  • (20) Lee, A.B., Nadler, B., Wasserman, L.: Treelets—An adaptive multi-scale basis for sparse unordered data. The Annals of Applied Statistics 2(2), 435–471 (2008). https://doi.org/10.1214/07-AOAS137
  • (21) Hy, T.S., Trivedi, S., Pan, H., Anderson, B.M., , Kondor, R.: Predicting molecular properties with covariant compositional networks. The Journal of Chemical Physics 148 (2018)
  • (22) Gilmer, J., Schoenholz, S.S., Riley, P.F., Vinyals, O., Dahl, G.E.: Neural message passing for quantum chemistry. In: International Conference on Machine Learning (2017). https://api.semanticscholar.org/CorpusID:9665943
  • (23) Battaglia, P., Pascanu, R., Lai, M., Rezende, D.J., kavukcuoglu, K.: Interaction networks for learning about objects, relations and physics. In: Proceedings of the 30th International Conference on Neural Information Processing Systems. NIPS’16, pp. 4509–4517. Curran Associates Inc., Red Hook, NY, USA (2016)
  • (24) Hy, T.S., Nguyen, V.B., Tran-Thanh, L., Kondor, R.: Temporal multiresolution graph neural networks for epidemic prediction. In: Xu, P., Zhu, T., Zhu, P., Clifton, D.A., Belgrave, D., Zhang, Y. (eds.) Proceedings of the 1st Workshop on Healthcare AI and COVID-19, ICML 2022. Proceedings of Machine Learning Research, vol. 184, pp. 21–32. PMLR, ??? (2022). https://proceedings.mlr.press/v184/hy22a.html
  • (25) Nguyen, B., Hy, T.S., Tran-Thanh, L., Nghiem, N.: Predicting COVID-19 pandemic by spatio-temporal graph neural networks: A new zealand’s study. In: Temporal Graph Learning Workshop @ NeurIPS 2023 (2023). https://openreview.net/forum?id=tkjGiKs2g6
  • (26) Boscaini, D., Masci, J., Melzi, S., Bronstein, M.M., Castellani, U., Vandergheynst, P.: Learning class-specific descriptors for deformable shapes using localized spectral convolutional networks. Comput. Graph. Forum 34(5), 13–23 (2015). https://doi.org/10.1111/CGF.12693
  • (27) Huang, H., Kalogerakis, E., Chaudhuri, S., Ceylan, D., Kim, V.G., Yumer, E.: Learning local shape descriptors from part correspondences with multiview convolutional networks. ACM Trans. Graph. 37(1) (2017). https://doi.org/10.1145/3137609
  • (28) Defferrard, M., Bresson, X., Vandergheynst, P.: Convolutional neural networks on graphs with fast localized spectral filtering. In: Proceedings of the 30th International Conference on Neural Information Processing Systems. NIPS’16, pp. 3844–3852. Curran Associates Inc., Red Hook, NY, USA (2016)
  • (29) Hammond, D.K., Vandergheynst, P., Gribonval, R.: Wavelets on graphs via spectral graph theory. Applied and Computational Harmonic Analysis 30(2), 129–150 (2011). https://doi.org/10.1016/j.acha.2010.04.005
  • (30) Xu, B., Shen, H., Cao, Q., Qiu, Y., Cheng, X.: Graph wavelet neural network. In: International Conference on Learning Representations (2019)
  • (31) Mallat, S.G.: A theory for multiresolution signal decomposition: the wavelet representation. IEEE Transactions on Pattern Analysis and Machine Intelligence 11(7), 674–693 (1989). https://doi.org/10.1109/34.192463
  • (32) Edelman, A., Arias, T.A., Smith, S.T.: The geometry of algorithms with orthogonality constraints. SIAM Journal on Matrix Analysis and Applications 20(2), 303–353 (1998). https://doi.org/10.1137/S0895479895290954
  • (33) Mühlenbein, H., Gorges-Schleuter, M., Krämer, O.: Evolution algorithms in combinatorial optimization. Parallel Computing 7(1), 65–85 (1988). https://doi.org/10.1016/0167-8191(88)90098-1
  • (34) Arnold, F.H.: Design by directed evolution. Accounts of Chemical Research 31(3), 125–131 (1998) https://doi.org/10.1021/ar960017f. https://doi.org/10.1021/ar960017f
  • (35) Arnold, F.H.: Directed evolution: Bringing new chemistry to life. Angewandte Chemie International Edition 57(16), 4143–4148 (2018) https://onlinelibrary.wiley.com/doi/pdf/10.1002/anie.201708408. https://doi.org/10.1002/anie.201708408
  • (36) Romero, P.A., Arnold, F.H.: Exploring protein fitness landscapes by directed evolution. Nature Reviews Molecular Cell Biology 10, 866–876 (2009)
  • (37) Shuman, D.I., Narang, S.K., Frossard, P., Ortega, A., Vandergheynst, P.: The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains. IEEE Signal Processing Magazine 30(3), 83–98 (2013). https://doi.org/10.1109/MSP.2012.2235192
  • (38) Defferrard, M., Bresson, X., Vandergheynst, P.: Convolutional neural networks on graphs with fast localized spectral filtering. In: Proceedings of the 30th International Conference on Neural Information Processing Systems. NIPS’16, pp. 3844–3852. Curran Associates Inc., Red Hook, NY, USA (2016)
  • (39) Zhang, M., Cui, Z., Neumann, M., Chen, Y.: An end-to-end deep learning architecture for graph classification. In: AAAI (2018)
  • (40) Niepert, M., Ahmed, M., Kutzkov, K.: Learning convolutional neural networks for graphs. In: Proceedings of The 33rd International Conference on Machine Learning. Proceedings of Machine Learning Research, vol. 48, pp. 2014–2023. PMLR, New York, New York, USA (2016)
  • (41) Atwood, J., Towsley, D.: Diffusion-convolutional neural networks. In: Proceedings of the 30th International Conference on Neural Information Processing Systems. NIPS’16, pp. 2001–2009. Curran Associates Inc., Red Hook, NY, USA (2016)
  • (42) Shervashidze, N., Vishwanathan, S., Petri, T., Mehlhorn, K., Borgwardt, K.: Efficient graphlet kernels for large graph comparison. In: van Dyk, D., Welling, M. (eds.) Proceedings of the Twelth International Conference on Artificial Intelligence and Statistics. Proceedings of Machine Learning Research, vol. 5, pp. 488–495. PMLR, Hilton Clearwater Beach Resort, Clearwater Beach, Florida USA (2009). https://proceedings.mlr.press/v5/shervashidze09a.html
  • (43) Vishwanathan, S.V.N., Schraudolph, N.N., Kondor, R., Borgwardt, K.M.: Graph kernels. J. Mach. Learn. Res. 11, 1201–1242 (2010)
  • (44) Neumann, M., Garnett, R., Baukhage, C., Kersting, K.: Propagation kernels: Efficient graph kernels from propagated information. Machine Learning 102, 209–245 (2016)
  • (45) Shervashidze, N., Schweitzer, P., van Leeuwen, E.J., Mehlhorn, K., Borgwardt, K.M.: Weisfeiler-lehman graph kernels. Journal of Machine Learning Research 12(77), 2539–2561 (2011)
  • (46) Maron, H., Ben-Hamu, H., Shamir, N., Lipman, Y.: Invariant and equivariant graph networks. In: International Conference on Learning Representations (2019). https://openreview.net/forum?id=Syx72jC9tm
  • (47) Debnath, A.K., Lopez de Compadre, R.L., Debnath, G., Shusterman, A.J., Hansch, C.: Structure-activity relationship of mutagenic aromatic and heteroaromatic nitro compounds. correlation with molecular orbital energies and hydrophobicity. Journal of Medicinal Chemistry 34(2), 786–797 (1991) https://doi.org/10.1021/jm00106a046. https://doi.org/10.1021/jm00106a046
  • (48) Toivonen, H., Srinivasan, A., King, R.D., Kramer, S., Helma, C.: Statistical evaluation of the Predictive Toxicology Challenge 2000–2001. Bioinformatics 19(10), 1183–1193 (2003) https://academic.oup.com/bioinformatics/article-pdf/19/10/1183/448860/btg130.pdf. https://doi.org/10.1093/bioinformatics/btg130
  • (49) Borgwardt, K.M., Ong, C.S., Schönauer, S., Vishwanathan, S.V.N., Smola, A., Kriegel, H.-P.: Protein function prediction via graph kernels. Bioinformatics 21 Suppl 1, 47–56 (2005)
  • (50) Wale, N., Watson, I., Karypis, G.: Comparison of descriptor spaces for chemical compound retrieval and classification. Knowl. Inf. Syst. 14, 347–375 (2008). https://doi.org/10.1109/ICDM.2006.39
  • (51) Sen, P., Namata, G.M., Bilgic, M., Getoor, L., Gallagher, B., , Eliassi-Rad, T.: Collective classification in network data. AI Magazine 29(3), 93–106 (2008)
  • (52) Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. In: Proc. ICLR, San Diego (2015)
  • (53) Belkin, M., Niyogi, P., Sindhwani, V.: Manifold regularization: A geometric framework for learning from labeled and unlabeled examples. Journal of Machine Learning Research 7(85), 2399–2434 (2006)
  • (54) Weston, J., Ratle, F., Collobert, R.: Deep learning via semi-supervised embedding. In: Proceedings of the 25th International Conference on Machine Learning. ICML ’08, pp. 1168–1175. Association for Computing Machinery, New York, NY, USA (2008). https://doi.org/10.1145/1390156.1390303. https://doi.org/10.1145/1390156.1390303
  • (55) Zhu, X., Ghahramani, Z., Lafferty, J.: Semi-supervised learning using gaussian fields and harmonic functions. In: ICML, pp. 912–919 (2003)
  • (56) Perozzi, B., Al-Rfou, R., Skiena, S.: Deepwalk: Online learning of social representations. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. KDD ’14, pp. 701–710. Association for Computing Machinery, New York, NY, USA (2014). https://doi.org/10.1145/2623330.2623732. https://doi.org/10.1145/2623330.2623732
  • (57) Getoor, L.: Link-based Classification, pp. 189–207. Springer, London (2005). https://doi.org/10.1007/1-84628-284-5_7. https://doi.org/10.1007/1-84628-284-5_7
  • (58) Yang, Z., Cohen, W., Salakhudinov, R.: Revisiting semi-supervised learning with graph embeddings. Proceedings of the 33rd International Conference on MachineLearning (2016)
  • (59) Kipf, T.N., Welling, M.: Semi-Supervised Classification with Graph Convolutional Networks. In: Proceedings of the 5th International Conference on Learning Representations. ICLR ’17 (2017). https://openreview.net/forum?id=SJU4ayYgl
  • (60) Monti, F., Boscaini, D., Masci, J., Rodola, E., Svoboda, J., Bronstein, M.M.: Geometric deep learning on graphs and manifolds using mixture model cnns. In: 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 5425–5434. IEEE Computer Society, Los Alamitos, CA, USA (2017). https://doi.org/10.1109/CVPR.2017.576
  • (61) Gittens, A., Mahoney, M.: Revisiting the nystrom method for improved large-scale machine learning. In: Dasgupta, S., McAllester, D. (eds.) Proceedings of the 30th International Conference on Machine Learning. Proceedings of Machine Learning Research, vol. 28, pp. 567–575. PMLR, Atlanta, Georgia, USA (2013). https://proceedings.mlr.press/v28/gittens13.html
  • (62) Zachary, W.: An information flow model for conflict and fission in small groups1. Journal of anthropological research 33 (1976). https://doi.org/10.1086/jar.33.4.3629752
  • (63) Leskovec, J., Chakrabarti, D., Kleinberg, J., Faloutsos, C., Ghahramani, Z.: Kronecker graphs: An approach to modeling networks. Journal of Machine Learning Research 11(33), 985–1042 (2010)
  • (64) Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L., Desmaison, A., Köpf, A., Yang, E., DeVito, Z., Raison, M., Tejani, A., Chilamkurthy, S., Steiner, B., Fang, L., Bai, J., Chintala, S.: PyTorch: an imperative style, high-performance deep learning library. Curran Associates Inc., Red Hook, NY, USA (2019)
  • (65) Jacobi, C.G.J.: Über ein leichtes verfahren die in der theorie der säcularstörungen vorkommenden gleichungen numerisch aufzulösen*).: 1846(30), 51–94 (1846). https://doi.org/10.1515/crll.1846.30.51
  • (66) Wen, Z., Yin, W.: A feasible method for optimization with orthogonality constraints. Mathematical Programming 142 (2010). https://doi.org/10.1007/s10107-012-0584-1
  • (67) Nocedal, J., Wright, S.J.: Numerical Optimization, 2nd edn. Springer, New York, NY, USA (2006)
  • (68) Tagare, H.: Notes on optimization on stiefel manifolds. (2011)

10 Notation

We define [n]={1,2,,n}[n]=\{1,2,\dots,n\} as the set of the first nn natural numbers. We denote 𝑰n{\bm{I}}_{n} as the nn dimensional identity matrix. The group of nn dimensional orthogonal matrices is 𝕊𝕆(n){\mathbb{S}}{\mathbb{O}}(n). 𝔸\cupdot𝔹{\mathbb{A}}\cupdot{\mathbb{B}} will denote the disjoint union of two sets 𝔸{\mathbb{A}} and 𝔹{\mathbb{B}}, therefore 𝔸1\cupdot𝔸2\cupdot\cupdot𝔸k=𝕊{\mathbb{A}}_{1}\cupdot{\mathbb{A}}_{2}\cupdot\dots\cupdot{\mathbb{A}}_{k}={\mathbb{S}} is a partition of 𝕊{\mathbb{S}}.

Given a matrix 𝑨n×n{\bm{A}}\in\mathbb{R}^{n\times n} and two sequences of indices 𝒊=(i1,,ik)[n]k{\bm{i}}=(i_{1},\dots,i_{k})\in[n]^{k} and 𝒋=(j1,,jk)[n]k{\bm{j}}=(j_{1},\dots,j_{k})\in[n]^{k} assuming that i1<i2<<iki_{1}<i_{2}<\dots<i_{k} and j1<j2<<jkj_{1}<j_{2}<\dots<j_{k}, 𝑨𝒊,𝒋{\bm{A}}_{{\bm{i}},{\bm{j}}} will be the k×kk\times k matrix with entries [𝑨𝒊,𝒋]x,y=𝑨ix,jy[{\bm{A}}_{{\bm{i}},{\bm{j}}}]_{x,y}={\bm{A}}_{i_{x},j_{y}}. Furthermore, 𝑨i,:{\bm{A}}_{i,:} and 𝑨:,j{\bm{A}}_{:,j} denote the ii-th row and the jj-th column of 𝑨{\bm{A}}, respectively. Given 𝑨1n1×m1{\bm{A}}_{1}\in\mathbb{R}^{n_{1}\times m_{1}} and 𝑨2n2×m2{\bm{A}}_{2}\in\mathbb{R}^{n_{2}\times m_{2}}, 𝑨1𝑨2{\bm{A}}_{1}\oplus{\bm{A}}_{2} is the (n1+n2)×(m1+m2)(n_{1}+n_{2})\times(m_{1}+m_{2}) dimensional matrix with entries

[𝑨1𝑨2]i,j={[𝑨1]i,jifin1andjm1[𝑨2]in1,jm1ifi>n1andj>m10otherwise.[{\bm{A}}_{1}\oplus{\bm{A}}_{2}]_{i,j}=\begin{cases}[{\bm{A}}_{1}]_{i,j}&\text{if}\ \ i\leq n_{1}\ \ \text{and}\ \ j\leq m_{1}\\ [{\bm{A}}_{2}]_{i-n_{1},j-m_{1}}&\text{if}\ \ i>n_{1}\ \ \text{and}\ \ j>m_{1}\\ 0&\text{otherwise.}\end{cases}

A matrix 𝑨{\bm{A}} is said to be block diagonal if it is of the form

𝑨=𝑨1𝑨2𝑨p{\bm{A}}={\bm{A}}_{1}\oplus{\bm{A}}_{2}\oplus\dots\oplus{\bm{A}}_{p} (12)

for some sequence of smaller matrices 𝑨1,,𝑨p{\bm{A}}_{1},\dots,{\bm{A}}_{p}. For the generalized block diagonal matrix, we remove the restriction that each block in (12) must involve a contiguous set of indices, and introduce the notation

𝑨=(i11,,ik11)𝑨1(i12,,ik22)𝑨2(i1p,,ikpp)𝑨p{\bm{A}}=\oplus_{(i_{1}^{1},\dots,i_{k_{1}}^{1})}{\bm{A}}_{1}\oplus_{(i_{1}^{2},\dots,i_{k_{2}}^{2})}{\bm{A}}_{2}\dots\oplus_{(i_{1}^{p},\dots,i_{k_{p}}^{p})}{\bm{A}}_{p} (13)

in which

𝑨a,b={[𝑨u]q,rifiqu=aandiru=bfor someu,q,r,0otherwise.{\bm{A}}_{a,b}=\begin{cases}[{\bm{A}}_{u}]_{q,r}&\text{if}\ \ i_{q}^{u}=a\ \ \text{and}\ \ i^{u}_{r}=b\ \ \text{for some}\ \ u,q,r,\\ 0&\text{otherwise.}\end{cases}

We will sometimes abbreviate expressions like (13) by dropping the first \ignorespaces\oplus operator and its indices.

Here is an example illustrating the notation used in 13. Consider the following matrices:

𝑨1=(1234),𝑨2=(5678){\bm{A}}_{1}=\begin{pmatrix}1&2\\ 3&4\end{pmatrix},\quad{\bm{A}}_{2}=\begin{pmatrix}5&6\\ 7&8\end{pmatrix}

We construct a generalized block diagonal matrix 𝑨{\bm{A}} using the indices:

  • For 𝑨1{\bm{A}}_{1}: rows and columns (1,3)(1,3)

  • For 𝑨2{\bm{A}}_{2}: rows and columns (2,4)(2,4)

Using the notation from 13:

𝑨=(1,3)𝑨1(2,4)𝑨2{\bm{A}}=\oplus_{(1,3)}{\bm{A}}_{1}\oplus_{(2,4)}{\bm{A}}_{2}

The resulting 4×44\times 4 matrix 𝑨{\bm{A}} is:

𝑨=(1020050630400708){\bm{A}}=\begin{pmatrix}1&0&2&0\\ 0&5&0&6\\ 3&0&4&0\\ 0&7&0&8\end{pmatrix}

Here, 𝑨1{\bm{A}}_{1} is placed in the positions corresponding to rows and columns (1,3)(1,3), and 𝑨2{\bm{A}}_{2} is placed in the positions corresponding to rows and columns (2,4)(2,4), with all other entries being zero.

The Kronecker tensor product 𝑨1𝑨2{\bm{A}}_{1}\otimes{\bm{A}}_{2} of two matrices 𝑨1n1×m1{\bm{A}}_{1}\in\mathbb{R}^{n_{1}\times m_{1}} and 𝑨2n2×m2{\bm{A}}_{2}\in\mathbb{R}^{n_{2}\times m_{2}} is an n1n2×m1m2n_{1}n_{2}\times m_{1}m_{2} matrix constructed as follows:

[𝑨1𝑨2](i11)n2+i2,(j11)m2+j2=[𝑨1]i1,j1[𝑨2]i2,j2.[{\bm{A}}_{1}\otimes{\bm{A}}_{2}]_{(i_{1}-1)n_{2}+i_{2},(j_{1}-1)m_{2}+j_{2}}=[{\bm{A}}_{1}]_{i_{1},j_{1}}\cdot[{\bm{A}}_{2}]_{i_{2},j_{2}}.

This means that each element of 𝑨1{\bm{A}}_{1} is multiplied by the entire matrix 𝑨2{\bm{A}}_{2}, and the resulting blocks are arranged in the same relative positions as the elements of 𝑨1{\bm{A}}_{1}.

To generalize, for pp matrices 𝑨1,𝑨2,,𝑨p{\bm{A}}_{1},{\bm{A}}_{2},\ldots,{\bm{A}}_{p}, the Kronecker product is denoted as 𝑨1𝑨2𝑨p{\bm{A}}_{1}\otimes{\bm{A}}_{2}\otimes\dots\otimes{\bm{A}}_{p}. When we take the Kronecker product of a single matrix 𝑨{\bm{A}} with itself pp times, we write this as 𝑨p=𝑨𝑨𝑨{\bm{A}}^{\otimes p}={\bm{A}}\otimes{\bm{A}}\otimes\dots\otimes{\bm{A}}.

A matrix 𝑨n×n{\bm{A}}\in\mathbb{R}^{n\times n} is called skew-symmetric (or anti-symmetric) if it satisfies the condition 𝑨T=𝑨{\bm{A}}^{T}=-{\bm{A}}. This means that the transpose of 𝑨{\bm{A}} is equal to its negative, i.e., 𝑨ij=𝑨ji{\bm{A}}_{ij}=-{\bm{A}}_{ji} for all i,ji,j. Skew-symmetric matrices have zeros on their diagonal since 𝑨ii=𝑨ii{\bm{A}}_{ii}=-{\bm{A}}_{ii} implies 𝑨ii=0{\bm{A}}_{ii}=0.

The Euclidean inner product between two matrices 𝑨m×n{\bm{A}}\in\mathbb{R}^{m\times n} and 𝑩m×n{\bm{B}}\in\mathbb{R}^{m\times n} is defined as:

𝑨,𝑩=j,k𝑨j,k𝑩j,k=trace(𝑨T𝑩).\langle{\bm{A}},{\bm{B}}\rangle=\sum_{j,k}{\bm{A}}_{j,k}{\bm{B}}_{j,k}=\text{trace}({\bm{A}}^{T}{\bm{B}}).

This inner product is a natural extension of the dot product for vectors, summing the products of corresponding elements of the matrices.

The Frobenius norm of a matrix 𝑨{\bm{A}} is given by:

𝑨F=i,j𝑨i,j2.\|{\bm{A}}\|_{F}=\sqrt{\sum_{i,j}{\bm{A}}_{i,j}^{2}}.

This norm measures the “size” of a matrix by considering the square root of the sum of the squares of all its entries. It is analogous to the Euclidean norm for vectors, providing a single number that reflects the overall magnitude of the matrix’s elements.

11 Multiresolution Matrix Factorization

11.1 Background

Most commonly used matrix factorization algorithms, such as principal component analysis (PCA), singular value decomposition (SVD), or non-negative matrix factorization (NMF) are inherently single-level algorithms. Saying that a symmetric matrix 𝑨n×n{\bm{A}}\in\mathbb{R}^{n\times n} is of rank rnr\ll n means that it can be expressed in terms of a dictionary of rr mutually orthogonal unit vectors {u1,u2,,ur}\{u_{1},u_{2},\dots,u_{r}\} in the form

𝑨=i=1rλiuiuiT,{\bm{A}}=\sum_{i=1}^{r}\lambda_{i}u_{i}u_{i}^{T},

where u1,,uru_{1},\dots,u_{r} are the normalized eigenvectors of AA and λ1,,λr\lambda_{1},\dots,\lambda_{r} are the corresponding eigenvalues. This is the decomposition that PCA finds, and it corresponds to factorizing 𝑨{\bm{A}} in the form

𝑨=𝑼T𝑯𝑼,{\bm{A}}={\bm{U}}^{T}{\bm{H}}{\bm{U}}, (14)

where 𝑼{\bm{U}} is an orthogonal matrix and 𝑯{\bm{H}} is a diagonal matrix with the eigenvalues of 𝑨{\bm{A}} on its diagonal. The drawback of PCA is that eigenvectors are almost always dense, while matrices occuring in learning problems, especially those related to graphs, often have strong locality properties, in the sense that they are more closely couple certain clusters of nearby coordinates than those farther apart with respect to the underlying topology. In such cases, modeling AA in terms of a basis of global eigenfunctions is both computationally wasteful and conceptually unreasonable: a localized dictionary would be more appropriate. In contrast to PCA, [2] proposed Multiresolution Matrix Factorization, or MMF for short, to construct a sparse hierarchical system of LL-level dictionaries. The corresponding matrix factorization is of the form

𝑨=𝑼1T𝑼2T𝑼LT𝑯𝑼L𝑼2𝑼1,{\bm{A}}={\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{L}^{T}{\bm{H}}{\bm{U}}_{L}\dots{\bm{U}}_{2}{\bm{U}}_{1},

where 𝑯{\bm{H}} is close to diagonal and 𝑼1,,𝑼L{\bm{U}}_{1},\dots,{\bm{U}}_{L} are sparse orthogonal matrices with the following constraints:

  1. 1.

    Each 𝑼{\bm{U}}_{\ell} is kk-point rotation for some small kk, meaning that it only rotates kk coordinates at a time. Formally, Def. 1 defines and Fig. 7 shows an example of the kk-point rotation matrix.

  2. 2.

    There is a nested sequence of sets 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] such that the coordinates rotated by 𝑼{\bm{U}}_{\ell} are a subset of 𝕊{\mathbb{S}}_{\ell}.

  3. 3.

    𝑯{\bm{H}} is an 𝕊L{\mathbb{S}}_{L}-core-diagonal matrix that is formally defined in Def. 2.

Definition 1.

We say that 𝐔n×n{\bm{U}}\in\mathbb{R}^{n\times n} is an elementary rotation of order kk (also called as a kk-point rotation) if it is an orthogonal matrix of the form

𝑼=𝑰nk(i1,,ik)𝑶{\bm{U}}={\bm{I}}_{n-k}\oplus_{(i_{1},\cdots,i_{k})}{\bm{O}}

for some 𝕀={i1,,ik}[n]{\mathbb{I}}=\{i_{1},\cdots,i_{k}\}\subseteq[n] and 𝐎𝕊𝕆(k){\bm{O}}\in{\mathbb{S}}{\mathbb{O}}(k). We denote the set of all such matrices as 𝕊𝕆k(n){\mathbb{S}}{\mathbb{O}}_{k}(n).

The simplest case are second order rotations, or called Givens rotations, which are of the form

𝑼=𝑰n2(i,j)𝑶=(cos(θ)sin(θ)sin(θ)cos(θ)),{\bm{U}}={\bm{I}}_{n-2}\oplus_{(i,j)}{\bm{O}}=\begin{pmatrix}\cdot&&&&\\ &\cos(\theta)&&-\sin(\theta)&\\ &&\cdot&&\\ &\sin(\theta)&&\cos(\theta)&\\ &&&&\cdot\\ \end{pmatrix}, (15)

where the dots denote the identity that apart from rows/columns ii and jj, and 𝑶𝕊𝕆(2){\bm{O}}\in{\mathbb{S}}{\mathbb{O}}(2) is the rotation matrix of some angle θ[0,2π)\theta\in[0,2\pi). Indeed, Jacobi’s algorithm for diagonalizing symmetric matrices [65] is a special case of MMF factorization over Givens rotations.

Definition 2.

Given a set 𝕊[n]{\mathbb{S}}\subseteq[n], we say that a matrix 𝐇n×n{\bm{H}}\in\mathbb{R}^{n\times n} is 𝕊{\mathbb{S}}-core-diagonal if 𝐇i,j=0{\bm{H}}_{i,j}=0 unless i,j𝕊i,j\in{\mathbb{S}} or i=ji=j. Equivalently, 𝐇{\bm{H}} is 𝕊{\mathbb{S}}-core-diagonal if it can be written in the form 𝐇=𝐃𝕊𝐇¯{\bm{H}}={\bm{D}}\oplus_{{\mathbb{S}}}\overline{{\bm{H}}}, for some H¯|𝕊|×|𝕊|\overline{H}\in\mathbb{R}^{\lvert{\mathbb{S}}\rvert\times\lvert{\mathbb{S}}\rvert} and 𝐃{\bm{D}} is diagonal. We denote the set of all 𝕊{\mathbb{S}}-core-diagonal symmetric matrices of dimension nn as n𝕊{\mathbb{H}}^{{\mathbb{S}}}_{n}.

Here is an example of a 𝕊\ignorespaces{\mathbb{S}} -core-diagonal matrix. Consider n=5n=5 and 𝕊={2,4}{\mathbb{S}}=\{2,4\}. A matrix 𝑯5×5{\bm{H}}\in\mathbb{R}^{5\times 5} is 𝕊{\mathbb{S}}-core-diagonal if:

𝑯=(1000002030004000305000006){\bm{H}}=\begin{pmatrix}1&0&0&0&0\\ 0&2&0&3&0\\ 0&0&4&0&0\\ 0&3&0&5&0\\ 0&0&0&0&6\end{pmatrix}

This matrix can be decomposed as 𝑯=𝑫𝕊𝑯¯{\bm{H}}={\bm{D}}\oplus_{{\mathbb{S}}}\overline{{\bm{H}}}, where:

𝑫=(100040006),𝑯¯=(2335){\bm{D}}=\begin{pmatrix}1&0&0\\ 0&4&0\\ 0&0&6\\ \end{pmatrix},\quad\overline{{\bm{H}}}=\begin{pmatrix}2&3\\ 3&5\end{pmatrix}

11.2 Multiresolution analysis

Definition 3.

Given an appropriate subset 𝕆{\mathbb{O}} of the group 𝕊𝕆(n){\mathbb{S}}{\mathbb{O}}(n) of nn-dimensional rotation matrices, a depth parameter LL\in\mathbb{N}, and a sequence of integers n=d0d1d2dL1n=d_{0}\geq d_{1}\geq d_{2}\geq\dots\geq d_{L}\geq 1, a Multiresolution Matrix Factorization (MMF) of a symmetric matrix 𝐀n×n{\bm{A}}\in\mathbb{R}^{n\times n} over 𝕆{\mathbb{O}} is a factorization of the form

𝑨=𝑼1T𝑼2T𝑼LT𝑯𝑼L𝑼2𝑼1,{\bm{A}}={\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{L}^{T}{\bm{H}}{\bm{U}}_{L}\dots{\bm{U}}_{2}{\bm{U}}_{1}, (16)

where each 𝐔𝕆{\bm{U}}_{\ell}\in{\mathbb{O}} satisfies [𝐔][n]𝕊1,[n]𝕊1=𝐈nd[{\bm{U}}_{\ell}]_{[n]\setminus{\mathbb{S}}_{\ell-1},[n]\setminus{\mathbb{S}}_{\ell-1}}={\bm{I}}_{n-d_{\ell}} for some nested sequence of sets 𝕊L𝕊1𝕊0=[n]{\mathbb{S}}_{L}\subseteq\cdots\subseteq{\mathbb{S}}_{1}\subseteq{\mathbb{S}}_{0}=[n] with |𝕊|=d\lvert{\mathbb{S}}_{\ell}\rvert=d_{\ell}, and 𝐇n𝕊L{\bm{H}}\in{\mathbb{H}}^{{\mathbb{S}}_{L}}_{n} is an 𝕊L{\mathbb{S}}_{L}-core-diagonal matrix.

Definition 4.

We say that a symmetric matrix 𝐀n×n{\bm{A}}\in\mathbb{R}^{n\times n} is fully multiresolution factorizable over 𝕆𝕊𝕆(n){\mathbb{O}}\subset{\mathbb{S}}{\mathbb{O}}(n) with (d1,,dL)(d_{1},\dots,d_{L}) if it has a decomposition of the form described in Def. 3.

We formally define MMF in Defs. 3 and 4. Furthermore, [2] has shown that MMF mirrors the classical theory of multiresolution analysis (MRA) on the real line [31] to discrete spaces. The functional analytic view of wavelets is provided by MRA, which, similarly to Fourier analysis, is a way of filtering some function space into a sequence of subspaces

𝕍1𝕍0𝕍1𝕍2\dots\subset{\mathbb{V}}_{-1}\subset{\mathbb{V}}_{0}\subset{\mathbb{V}}_{1}\subset{\mathbb{V}}_{2}\subset\dots (17)

However, it is best to conceptualize (17) as an iterative process of splitting each 𝕍{\mathbb{V}}_{\ell} into the orthogonal sum 𝕍=𝕍+1𝕎+1{\mathbb{V}}_{\ell}={\mathbb{V}}_{\ell+1}\oplus{\mathbb{W}}_{\ell+1} of a smoother part 𝕍+1{\mathbb{V}}_{\ell+1}, called the approximation space; and a rougher part 𝕎+1{\mathbb{W}}_{\ell+1}, called the detail space (see Fig. 6). Each 𝕍{\mathbb{V}}_{\ell} has an orthonormal basis Φ{ϕm}m\Phi_{\ell}\triangleq\{\phi_{m}^{\ell}\}_{m} in which each ϕ\phi is called a father wavelet. Each complementary space 𝕎{\mathbb{W}}_{\ell} is also spanned by an orthonormal basis Ψ{ψm}m\Psi_{\ell}\triangleq\{\psi_{m}^{\ell}\}_{m} in which each ψ\psi is called a mother wavelet. In MMF, each individual rotation 𝑼:𝕍1𝕍𝕎{\bm{U}}_{\ell}:{\mathbb{V}}_{\ell-1}\rightarrow{\mathbb{V}}_{\ell}\oplus{\mathbb{W}}_{\ell} is a sparse basis transform that expresses ΦΨ\Phi_{\ell}\cup\Psi_{\ell} in the previous basis Φ1\Phi_{\ell-1} such that:

ϕm=i=1dim(𝕍1)[𝑼]m,iϕi1,\phi_{m}^{\ell}=\sum_{i=1}^{\text{dim}({\mathbb{V}}_{\ell-1})}[{\bm{U}}_{\ell}]_{m,i}\phi_{i}^{\ell-1},
ψm=i=1dim(𝕍1)[𝑼]m+dim(𝕍1),iϕi1,\psi_{m}^{\ell}=\sum_{i=1}^{\text{dim}({\mathbb{V}}_{\ell-1})}[{\bm{U}}_{\ell}]_{m+\text{dim}({\mathbb{V}}_{\ell-1}),i}\phi_{i}^{\ell-1},

in which Φ0\Phi_{0} is the standard basis, i.e. ϕm0=em\phi_{m}^{0}=e_{m}; and dim(𝕍)=d=|𝕊|\text{dim}({\mathbb{V}}_{\ell})=d_{\ell}=\lvert{\mathbb{S}}_{\ell}\rvert. In the Φ1Ψ1\Phi_{1}\cup\Psi_{1} basis, 𝑨{\bm{A}} compresses into 𝑨1=𝑼1𝑨𝑼1T{\bm{A}}_{1}={\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}. In the Φ2Ψ2Ψ1\Phi_{2}\cup\Psi_{2}\cup\Psi_{1} basis, it becomes 𝑨2=𝑼2𝑼1𝑨𝑼1T𝑼2T{\bm{A}}_{2}={\bm{U}}_{2}{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}, and so on. Finally, in the ΦLΨLΨ1\Phi_{L}\cup\Psi_{L}\cup\dots\cup\Psi_{1} basis, it takes on the form 𝑨L=𝑯=𝑼L𝑼2𝑼1𝑨𝑼1T𝑼2T𝑼LT{\bm{A}}_{L}={\bm{H}}={\bm{U}}_{L}\dots{\bm{U}}_{2}{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{L}^{T} that consists of four distinct blocks (supposingly that we permute the rows/columns accordingly):

𝑯=(𝑯Φ,Φ𝑯Φ,Ψ𝑯Ψ,Φ𝑯Ψ,Ψ),{\bm{H}}=\begin{pmatrix}{\bm{H}}_{\Phi,\Phi}&{\bm{H}}_{\Phi,\Psi}\\ {\bm{H}}_{\Psi,\Phi}&{\bm{H}}_{\Psi,\Psi}\end{pmatrix},

where 𝑯Φ,Φdim(𝕍L)×dim(𝕍L){\bm{H}}_{\Phi,\Phi}\in\mathbb{R}^{\text{dim}({\mathbb{V}}_{L})\times\text{dim}({\mathbb{V}}_{L})} is effectively 𝑨{\bm{A}} compressed to 𝕍L{\mathbb{V}}_{L}, 𝑯Φ,Ψ=𝑯Ψ,ΦT=0{\bm{H}}_{\Phi,\Psi}={\bm{H}}_{\Psi,\Phi}^{T}=0 and 𝑯Ψ,Ψ{\bm{H}}_{\Psi,\Psi} is diagonal. MMF approximates 𝑨{\bm{A}} in the form

𝑨i,j=1dLhi,jϕiLϕjLT+=1Lm=1dcmψmψmT,{\bm{A}}\approx\sum_{i,j=1}^{d_{L}}h_{i,j}\phi_{i}^{L}{\phi_{j}^{L}}^{T}+\sum_{\ell=1}^{L}\sum_{m=1}^{d_{\ell}}c_{m}^{\ell}\psi_{m}^{\ell}{\psi_{m}^{\ell}}^{T},

where hi,jh_{i,j} coefficients are the entries of the 𝑯Φ,Φ{\bm{H}}_{\Phi,\Phi} block, and cm=ψm,𝑨ψmc_{m}^{\ell}=\langle\psi_{m}^{\ell},{\bm{A}}\psi_{m}^{\ell}\rangle wavelet frequencies are the diagonal elements of the 𝑯Ψ,Ψ{\bm{H}}_{\Psi,\Psi} block.

In particular, the dictionary vectors corresponding to certain rows of 𝑼1{\bm{U}}_{1} are interpreted as level one wavelets, the dictionary vectors corresponding to certain rows of 𝑼2𝑼1{\bm{U}}_{2}{\bm{U}}_{1} are interpreted as level two wavelets, and so on (see Section 11.2). One thing that is immediately clear is that whereas Eq. (14) diagonalizes 𝑨{\bm{A}} in a single step, multiresolution analysis will involve a sequence of basis transforms 𝑼1,𝑼2,,𝑼L{\bm{U}}_{1},{\bm{U}}_{2},\dots,{\bm{U}}_{L}, transforming 𝑨{\bm{A}} step by step as

𝑨𝑼1𝑨𝑼1T𝑼2𝑼1𝑨𝑼1T𝑼2T𝑼L𝑼2𝑼1𝑨𝑼1T𝑼2T𝑼LT,{\bm{A}}\rightarrow{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}\rightarrow{\bm{U}}_{2}{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\rightarrow\dots\rightarrow{\bm{U}}_{L}\dots{\bm{U}}_{2}{\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{L}^{T}, (18)

so the corresponding matrix factorization must be a multilevel factorization

𝑨𝑼1T𝑼2T𝑼T𝑯𝑼𝑼2𝑼1.{\bm{A}}\approx{\bm{U}}_{1}^{T}{\bm{U}}_{2}^{T}\dots{\bm{U}}_{\ell}^{T}{\bm{H}}{\bm{U}}_{\ell}\dots{\bm{U}}_{2}{\bm{U}}_{1}. (19)

Fig. 8 depicts the multiresolution transform of MMF as in Eq. (18). Fig. 9 illustrates the corresponding factorization as in Eq. (19).

L2(𝕏)\textstyle{L_{2}({\mathbb{X}})\ignorespaces\ignorespaces\ignorespaces\ignorespaces}\textstyle{\cdots\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝕍0\textstyle{{\mathbb{V}}_{0}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝕍1\textstyle{{\mathbb{V}}_{1}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝕍2\textstyle{{\mathbb{V}}_{2}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}\textstyle{\cdots}𝕎1\textstyle{{\mathbb{W}}_{1}}𝕎2\textstyle{{\mathbb{W}}_{2}}𝕎3\textstyle{{\mathbb{W}}_{3}}
Figure 6: Multiresolution analysis splits each function space 𝕍0,𝕍1,{\mathbb{V}}_{0},{\mathbb{V}}_{1},\dots into the direct sum of a smoother part 𝕍+1{\mathbb{V}}_{\ell+1} and a rougher part 𝕎+1{\mathbb{W}}_{\ell+1}.
𝑰nk(i1,..,ik)𝑶=Π(                                                              )𝑼Π{\bm{I}}_{n-k}\oplus_{(i_{1},..,i_{k})}{\bm{O}}=\,\Pi\,\underset{\displaystyle{\bm{U}}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -25.98 L 25.98 -25.98 L 25.98 -16.53 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\,\Pi^{\top}

Figure 7: A rotation matrix of order kk. The purpose of permutation matrix Π\Pi is solely to ensure that the blocks of the matrices appear contiguous in the figure. In this case, n=17n=17 and k=4k=4.
Π(      )𝑨ΠU1(                    )𝑨1=𝑼1𝑨𝑼1TU2(                                )𝑨2=𝑼2𝑨1𝑼2T(                                         )𝑨L=𝑯\,\Pi\,\underset{\displaystyle{\bm{A}}}{\bigg(\,\hbox to29.42pt{\vbox to29.42pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-29.22063pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -40.16 L 40.16 -40.16 L 40.16 0 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\,\Pi^{\top}\xrightarrow{~U_{1}~}\underset{\displaystyle{\bm{A}}_{1}={\bm{U}}_{1}{\bm{A}}{\bm{U}}_{1}^{T}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -33.07 L 33.07 -33.07 L 33.07 0 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\xrightarrow{~U_{2}~}\underset{\displaystyle{\bm{A}}_{2}={\bm{U}}_{2}{\bm{A}}_{1}{\bm{U}}_{2}^{T}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -23.62 L 23.62 -23.62 L 23.62 0 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\xrightarrow{~~}\ldots\xrightarrow{~~}\underset{\displaystyle{\bm{A}}_{L}={\bm{H}}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -16.53 L 16.53 -16.53 L 16.53 0 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}

Figure 8: MMF can be thought of as a process of successively compressing 𝑨{\bm{A}} to size d1×d1d_{1}\times d_{1}, d2×d2d_{2}\times d_{2}, etc. (plus the diagonal entries) down to the final dL×dLd_{L}\times d_{L} core-diagonal matrix 𝑯{\bm{H}} (see Def. 3). The role of permutation matrix Π\Pi is purely for the ease of visualization (as in Fig. 7).
Π(      )𝐴Π(                                                              )U1T(                                                              )ULT(                                                              )𝐻(                                                              )UL(                                                              )U1\,\Pi\,\underset{\displaystyle A}{\bigg(\,\hbox to29.42pt{\vbox to29.42pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-29.22063pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -40.16 L 40.16 -40.16 L 40.16 0 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\,\Pi^{\top}\approx\underset{\displaystyle U_{1}^{T}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -25.98 L 25.98 -25.98 L 25.98 -16.53 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\ldots\underset{\displaystyle U_{L}^{T}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -42.52 L 42.52 -42.52 L 42.52 -33.07 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\underset{\displaystyle H}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -16.53 L 16.53 -16.53 L 16.53 0 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\underset{\displaystyle U_{L}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -42.52 L 42.52 -42.52 L 42.52 -33.07 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}\ldots\underset{\displaystyle U_{1}}{\bigg(\,\hbox to31.13pt{\vbox to31.13pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-30.92772pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{stroke=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} {{\lx@inpgf@ignorespaces}} {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -25.98 L 25.98 -25.98 L 25.98 -16.53 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 0 0 M 0 0 L 0 -2.36 L 2.36 -2.36 L 2.36 0 Z M 2.36 -2.36}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 2.36 -2.36 M 2.36 -2.36 L 2.36 -4.72 L 4.72 -4.72 L 4.72 -2.36 Z M 4.72 -4.72}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 4.72 -4.72 M 4.72 -4.72 L 4.72 -7.09 L 7.09 -7.09 L 7.09 -4.72 Z M 7.09 -7.09}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 7.09 -7.09 M 7.09 -7.09 L 7.09 -9.45 L 9.45 -9.45 L 9.45 -7.09 Z M 9.45 -9.45}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 9.45 -9.45 M 9.45 -9.45 L 9.45 -11.81 L 11.81 -11.81 L 11.81 -9.45 Z M 11.81 -11.81}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 11.81 -11.81 M 11.81 -11.81 L 11.81 -14.17 L 14.17 -14.17 L 14.17 -11.81 Z M 14.17 -14.17}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 14.17 -14.17 M 14.17 -14.17 L 14.17 -16.53 L 16.53 -16.53 L 16.53 -14.17 Z M 16.53 -16.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 16.53 -16.53 M 16.53 -16.53 L 16.53 -18.9 L 18.9 -18.9 L 18.9 -16.53 Z M 18.9 -18.9}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 18.9 -18.9 M 18.9 -18.9 L 18.9 -21.26 L 21.26 -21.26 L 21.26 -18.9 Z M 21.26 -21.26}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 21.26 -21.26 M 21.26 -21.26 L 21.26 -23.62 L 23.62 -23.62 L 23.62 -21.26 Z M 23.62 -23.62}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 23.62 -23.62 M 23.62 -23.62 L 23.62 -25.98 L 25.98 -25.98 L 25.98 -23.62 Z M 25.98 -25.98}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 25.98 -25.98 M 25.98 -25.98 L 25.98 -28.35 L 28.35 -28.35 L 28.35 -25.98 Z M 28.35 -28.35}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 28.35 -28.35 M 28.35 -28.35 L 28.35 -30.71 L 30.71 -30.71 L 30.71 -28.35 Z M 30.71 -30.71}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 30.71 -30.71 M 30.71 -30.71 L 30.71 -33.07 L 33.07 -33.07 L 33.07 -30.71 Z M 33.07 -33.07}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 33.07 -33.07 M 33.07 -33.07 L 33.07 -35.43 L 35.43 -35.43 L 35.43 -33.07 Z M 35.43 -35.43}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 35.43 -35.43 M 35.43 -35.43 L 35.43 -37.79 L 37.79 -37.79 L 37.79 -35.43 Z M 37.79 -37.79}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 37.79 -37.79 M 37.79 -37.79 L 37.79 -40.16 L 40.16 -40.16 L 40.16 -37.79 Z M 40.16 -40.16}{} \lx@inpgf@ignorespaces \lxSVG@closescope {}{{}}{} {{}{}}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin=1} \color[rgb]{0.5,0.5,0.5}{}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M 40.16 -40.16 M 40.16 -40.16 L 40.16 -42.52 L 42.52 -42.52 L 42.52 -40.16 Z M 42.52 -42.52}{} \lx@inpgf@ignorespaces \lxSVG@closescope \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\,\bigg)}

Figure 9: Matrix approximation as in Eq. 16. In this figure, the core block size of each rotation matrix 𝑼{\bm{U}}_{\ell} and 𝑯{\bm{H}} are k×k=4×4k\times k=4\times 4 and dL×dL=8×8d_{L}\times d_{L}=8\times 8, respectively. Permutation matrix Π\Pi is only for visualization (as in Figs. 7 8).

11.3 Optimization by heuristics

Heuristically, factorizing 𝑨{\bm{A}} can be approximated by an iterative process that starts by setting 𝑨0=𝑨{\bm{A}}_{0}={\bm{A}} and 𝕊1=[n]{\mathbb{S}}_{1}=[n], and then executes the following steps for each resolution level {1,,L}\ell\in\{1,\dots,L\}:

  1. 1.

    Given 𝑨1{\bm{A}}_{\ell-1}, select kk indices 𝕀={i1,,ik}𝕊1{\mathbb{I}}_{\ell}=\{i_{1},\dots,i_{k}\}\subset{\mathbb{S}}_{\ell-1} of rows/columns of the active submatrix [𝑨1]𝕊1,𝕊1[{\bm{A}}_{\ell-1}]_{{\mathbb{S}}_{\ell-1},{\mathbb{S}}_{\ell-1}} that are highly correlated with each other.

  2. 2.

    Find the corresponding kk-point rotation 𝑼{\bm{U}}_{\ell} to 𝕀{\mathbb{I}}_{\ell}, and compute 𝑨=𝑼𝑨1𝑼T{\bm{A}}_{\ell}={\bm{U}}_{\ell}{\bm{A}}_{\ell-1}{\bm{U}}_{\ell}^{T} that brings the submatrix [𝑨1]𝕀,𝕀[{\bm{A}}_{\ell-1}]_{{\mathbb{I}}_{\ell},{\mathbb{I}}_{\ell}} close to diagonal. In the last level, we set 𝑯=𝑨L{\bm{H}}={\bm{A}}_{L} (see Fig. 8).

  3. 3.

    Determine the set of coordinates 𝕋𝕊1{\mathbb{T}}_{\ell}\subseteq{\mathbb{S}}_{\ell-1} that are to be designated wavelets at this level, and eliminate them from the active set by setting 𝕊=𝕊1𝕋{\mathbb{S}}_{\ell}={\mathbb{S}}_{\ell-1}\setminus{\mathbb{T}}_{\ell}.

12 Stiefel Manifold Optimization

In order to solve the MMF optimization problem, we consider the following generic optimization with orthogonality constraints:

min𝑿n×p(𝑿),s.t.𝑿T𝑿=𝑰p,\min_{{\bm{X}}\in\mathbb{R}^{n\times p}}\mathcal{F}({\bm{X}}),\ \ \text{s.t.}\ \ {\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p}, (20)

We identify tangent vectors to the manifold with n×pn\times p matrices. We denote the tangent space at 𝑿{\bm{X}} as 𝒯𝑿𝒱p(n)\mathcal{T}_{{\bm{X}}}\mathcal{V}_{p}(\mathbb{R}^{n}). Lemma 1 characterizes vectors in the tangent space.

Lemma 1.

Any 𝐙𝒯𝐗𝒱p(n){\bm{Z}}\in\mathcal{T}_{{\bm{X}}}\mathcal{V}_{p}(\mathbb{R}^{n}), then 𝐙{\bm{Z}} (as an element of n×p\mathbb{R}^{n\times p}) satisfies

𝒁T𝑿+𝑿T𝒁=0,{\bm{Z}}^{T}{\bm{X}}+{\bm{X}}^{T}{\bm{Z}}=0,

where 𝐙T𝐗{\bm{Z}}^{T}{\bm{X}} is a skew-symmetric p×pp\times p matrix.

Proof: Let 𝒀(t){\bm{Y}}(t) be a curve in 𝒱p(n)\mathcal{V}_{p}(\mathbb{R}^{n}) that starts from 𝑿{\bm{X}}. We have:

𝒀T(t)𝒀(t)=𝑰p.{\bm{Y}}^{T}(t){\bm{Y}}(t)={\bm{I}}_{p}. (21)

We differentiate two sides of Eq. (21) with respect to tt:

ddt(𝒀T(t)𝒀(t))=0\frac{d}{dt}({\bm{Y}}^{T}(t){\bm{Y}}(t))=0

that leads to:

(d𝒀dt(0))T𝒀(0)+𝒀(0)Td𝒀dt(0)=0\bigg(\frac{d{\bm{Y}}}{dt}(0)\bigg)^{T}{\bm{Y}}(0)+{\bm{Y}}(0)^{T}\frac{d{\bm{Y}}}{dt}(0)=0

at t=0t=0. Recall that by definition, 𝒀(0)=𝑿{\bm{Y}}(0)={\bm{X}} and d𝒀dt(0)\frac{d{\bm{Y}}}{dt}(0) is any element of the tangent space at 𝑿{\bm{X}}. Therefore, we arrive at 𝒁T𝑿+𝑿T𝒁=0{\bm{Z}}^{T}{\bm{X}}+{\bm{X}}^{T}{\bm{Z}}=0.

Suppose that \mathcal{F} is a differentiable function. The gradient of \mathcal{F} with respect to 𝑿{\bm{X}} is denoted by 𝑮𝒟𝑿((𝑿)𝑿i,j){\bm{G}}\triangleq\mathcal{D}\mathcal{F}_{{\bm{X}}}\triangleq\big(\frac{\partial\mathcal{F}({\bm{X}})}{\partial{\bm{X}}_{i,j}}\big). The derivative of \mathcal{F} at 𝑿{\bm{X}} in a direction 𝒁{\bm{Z}} is

𝒟𝑿(𝒁)limt0(𝑿+t𝒁)(𝑿)t=𝑮,𝒁\mathcal{D}\mathcal{F}_{{\bm{X}}}({\bm{Z}})\triangleq\lim_{t\rightarrow 0}\frac{\mathcal{F}({\bm{X}}+t{\bm{Z}})-\mathcal{F}({\bm{X}})}{t}=\langle{\bm{G}},{\bm{Z}}\rangle

Since the matrix 𝑿T𝑿{\bm{X}}^{T}{\bm{X}} is symmetric, the Lagrangian multiplier Λ\Lambda corresponding to 𝑿T𝑿=𝑰p{\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p} is a symmetric matrix. The Lagrangian function of problem (5) is

(𝑿,𝚲)=(𝑿)12trace(𝚲(𝑿T𝑿𝑰p))\mathcal{L}({\bm{X}},{\bm{\Lambda}})=\mathcal{F}({\bm{X}})-\frac{1}{2}\text{trace}({\bm{\Lambda}}({\bm{X}}^{T}{\bm{X}}-{\bm{I}}_{p})) (22)
Lemma 2.

Suppose that 𝐗{\bm{X}} is a local minimizer of problem (5). Then 𝐗{\bm{X}} satisfies the first-order optimality conditions 𝒟𝐗(𝐗,𝚲)=𝐆𝐗𝐆T𝐗=0\mathcal{D}_{{\bm{X}}}\mathcal{L}({\bm{X}},{\bm{\Lambda}})={\bm{G}}-{\bm{X}}{\bm{G}}^{T}{\bm{X}}=0 and 𝐗T𝐗=𝐈p{\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p} with the associated Lagrangian multiplier 𝚲=𝐆T𝐗{\bm{\Lambda}}={\bm{G}}^{T}{\bm{X}}. Define (𝐗)𝐆𝐗𝐆T𝐗\displaystyle\nabla\mathcal{F}({\bm{X}})\triangleq{\bm{G}}-{\bm{X}}{\bm{G}}^{T}{\bm{X}} and 𝐀𝐆𝐗T𝐗𝐆T{\bm{A}}\triangleq{\bm{G}}{\bm{X}}^{T}-{\bm{X}}{\bm{G}}^{T}. Then =𝐀𝐗\displaystyle\nabla\mathcal{F}={\bm{A}}{\bm{X}}. Moreover, =0\displaystyle\nabla\mathcal{F}=0 if and only if 𝐀=0{\bm{A}}=0.

Proof: Since 𝑿𝒱p(n){\bm{X}}\in\mathcal{V}_{p}(\mathbb{R}^{n}), we have 𝑿T𝑿=𝑰p{\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p}. We differentiate both sides of the Lagrangian function:

𝒟𝑿(𝑿,𝚲)=𝒟(𝑿)𝑿𝚲=0.\mathcal{D}_{\bm{X}}\mathcal{L}({\bm{X}},{\bm{\Lambda}})=\mathcal{D}\mathcal{F}({\bm{X}})-{\bm{X}}{\bm{\Lambda}}=0.

Recall that by definition, 𝑮𝒟(𝑿){\bm{G}}\triangleq\mathcal{D}\mathcal{F}({\bm{X}}), we have

𝒟𝑿(𝑿,𝚲)=𝑮𝑿𝚲=0.\mathcal{D}_{\bm{X}}\mathcal{L}({\bm{X}},{\bm{\Lambda}})={\bm{G}}-{\bm{X}}{\bm{\Lambda}}=0. (23)

Multiplying both sides by 𝑿T{\bm{X}}^{T}, we get 𝑿T𝑮𝑿T𝑿𝚲=0{\bm{X}}^{T}{\bm{G}}-{\bm{X}}^{T}{\bm{X}}{\bm{\Lambda}}=0 that leads to 𝑿T𝑮𝚲=0{\bm{X}}^{T}{\bm{G}}-{\bm{\Lambda}}=0 or 𝚲=𝑿T𝑮{\bm{\Lambda}}={\bm{X}}^{T}{\bm{G}}. Since the matrix 𝑿T𝑿{\bm{X}}^{T}{\bm{X}} is symmetric, the Lagrangian multiplier 𝚲{\bm{\Lambda}} correspoding to 𝑿T𝑿=𝑰p{\bm{X}}^{T}{\bm{X}}={\bm{I}}_{p} is a symmetric matrix. Therefore, we obtain 𝚲=𝚲T=𝑮T𝑿{\bm{\Lambda}}={\bm{\Lambda}}^{T}={\bm{G}}^{T}{\bm{X}} and 𝒟𝑿(𝑿,𝚲)=𝑮𝑿𝑮T𝑿=0\mathcal{D}_{\bm{X}}\mathcal{L}({\bm{X}},{\bm{\Lambda}})={\bm{G}}-{\bm{X}}{\bm{G}}^{T}{\bm{X}}=0. By definition, 𝑨𝑮𝑿T𝑿𝑮T{\bm{A}}\triangleq{\bm{G}}{\bm{X}}^{T}-{\bm{X}}{\bm{G}}^{T}. We have 𝑨𝑿=𝑮𝑿𝑮T𝑿={\bm{A}}{\bm{X}}={\bm{G}}-{\bm{X}}{\bm{G}}^{T}{\bm{X}}=\nabla\mathcal{F}. The last statement is trivial.

Let 𝑿𝒱p(n){\bm{X}}\in\mathcal{V}_{p}(\mathbb{R}^{n}), and 𝑾{\bm{W}} be any n×nn\times n skew-symmetric matrix. We consider the following curve that transforms 𝑿{\bm{X}} by (𝑰+τ2𝑾)1(𝑰τ2𝑾)\big({\bm{I}}+\frac{\tau}{2}{\bm{W}}\big)^{-1}\big({\bm{I}}-\frac{\tau}{2}{\bm{W}}\big):

𝒀(τ)=(𝑰+τ2𝑾)1(𝑰τ2𝑾)𝑿.{\bm{Y}}(\tau)=\big({\bm{I}}+\frac{\tau}{2}{\bm{W}}\big)^{-1}\big({\bm{I}}-\frac{\tau}{2}{\bm{W}}\big){\bm{X}}. (24)

This is called as the Cayley transformation. Its derivative with respect to τ\tau is

𝒀(τ)=(𝑰+τ2𝑾)1𝑾(𝑿+𝒀(τ)2).{\bm{Y}}^{\prime}(\tau)=-\bigg({\bm{I}}+\frac{\tau}{2}{\bm{W}}\bigg)^{-1}{\bm{W}}\bigg(\frac{{\bm{X}}+{\bm{Y}}(\tau)}{2}\bigg). (25)

The curve has the following properties:

  1. 1.

    It stays in the Stiefel manifold, i.e. 𝒀(τ)T𝒀(τ)=𝑰{\bm{Y}}(\tau)^{T}{\bm{Y}}(\tau)={\bm{I}}.

  2. 2.

    Its tangent vector at τ=0\tau=0 is 𝒀(0)=𝑾𝑿{\bm{Y}}^{\prime}(0)=-{\bm{W}}{\bm{X}}. It can be easily derived from Lemma 1 that 𝒀(0){\bm{Y}}^{\prime}(0) is in the tangent space 𝒯𝒀(0)𝒱p(n)\mathcal{T}_{{\bm{Y}}(0)}\mathcal{V}_{p}(\mathbb{R}^{n}). Since 𝒀(0)=X{\bm{Y}}(0)=X and 𝑾{\bm{W}} is a skew-symmetric matrix, by letting 𝒁=𝑾𝑿{\bm{Z}}=-{\bm{W}}{\bm{X}}, it is trivial that 𝒁T𝑿+𝑿T𝒁=0{\bm{Z}}^{T}{\bm{X}}+{\bm{X}}^{T}{\bm{Z}}=0.

Lemma 3.

If we set 𝐖𝐀𝐆𝐗T𝐗𝐆T{\bm{W}}\triangleq{\bm{A}}\triangleq{\bm{G}}{\bm{X}}^{T}-{\bm{X}}{\bm{G}}^{T} (see Lemma  2), then the curve 𝐘(τ){\bm{Y}}(\tau) (defined in Eq. (24)) is a decent curve for \mathcal{F} at τ=0\tau=0, that is

τ(𝒀(0))(𝒀(τ))τ|τ=0=12𝑨F2.\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(0))\triangleq\frac{\partial\mathcal{F}({\bm{Y}}(\tau))}{\partial\tau}\bigg|_{\tau=0}=-\frac{1}{2}\|{\bm{A}}\|_{F}^{2}.

Proof: By the chain rule, we get

τ(𝒀(τ))=trace(𝒟(𝒀(τ))T𝒀(τ)).\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(\tau))=\text{trace}(\mathcal{D}\mathcal{F}({\bm{Y}}(\tau))^{T}{\bm{Y}}^{\prime}(\tau)).

At τ=0\tau=0, 𝒟(𝒀(0))=𝑮\mathcal{D}\mathcal{F}({\bm{Y}}(0))={\bm{G}} and 𝒀(0)=𝑨𝑿{\bm{Y}}^{\prime}(0)=-{\bm{A}}{\bm{X}}. Therefore,

τ(𝒀(0))=trace(𝑮T(𝑮𝑿T𝑿𝑮T)𝑿)=12trace(𝑨𝑨T)=12𝑨F2.\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(0))=-\text{trace}({\bm{G}}^{T}({\bm{G}}{\bm{X}}^{T}-{\bm{X}}{\bm{G}}^{T}){\bm{X}})=-\frac{1}{2}\text{trace}({\bm{A}}{\bm{A}}^{T})=-\frac{1}{2}\|{\bm{A}}\|_{F}^{2}.

It is well known that the steepest descent method with a fixed step size may not converge, but the convergence can be guaranteed by choosing the step size wisely: one can choose a step size by minimizing (𝒀(τ))\mathcal{F}({\bm{Y}}(\tau)) along the curve 𝒀(τ){\bm{Y}}(\tau) with respect to τ\tau [66]. With the choice of 𝑾{\bm{W}} given by Lemma 3, the minimization algorithm using 𝒀(τ){\bm{Y}}(\tau) is roughly sketched as follows: Start with some initial 𝑿(0){\bm{X}}^{(0)}. For t>0t>0, we generate 𝑿(t+1){\bm{X}}^{(t+1)} from 𝑿(t){\bm{X}}^{(t)} by a curvilinear search along the curve 𝒀(τ)=(𝑰+τ2𝑾)1(𝑰τ2𝑾)𝑿(t){\bm{Y}}(\tau)=\big({\bm{I}}+\frac{\tau}{2}{\bm{W}}\big)^{-1}\big({\bm{I}}-\frac{\tau}{2}{\bm{W}}\big){\bm{X}}^{(t)} by changing τ\tau. Because finding the global minimizer is computationally infeasible, the search terminates when then Armijo-Wolfe conditions that indicate an approximate minimizer are satisfied. The Armijo-Wolfe conditions require two parameters 0<ρ1<ρ2<10<\rho_{1}<\rho_{2}<1 [67] [66] [68]:

(𝒀(τ))(𝒀(0))+ρ1ττ(𝒀(0))\mathcal{F}({\bm{Y}}(\tau))\leq\mathcal{F}({\bm{Y}}(0))+\rho_{1}\tau\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(0)) (26)
τ(𝒀(τ))ρ2τ(𝒀(0))\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(\tau))\geq\rho_{2}\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(0)) (27)

where τ(𝒀(τ))=trace(𝑮T𝒀(τ))\mathcal{F}^{\prime}_{\tau}({\bm{Y}}(\tau))=\text{trace}({\bm{G}}^{T}{\bm{Y}}^{\prime}(\tau)) while 𝒀(τ){\bm{Y}}^{\prime}(\tau) is computed as Eq. (25) and 𝒀(0)=𝑨𝑿{\bm{Y}}^{\prime}(0)=-{\bm{A}}{\bm{X}}. The gradient descent algorithm on Stiefel manifold to optimize the generic orthogonal-constraint problem (5) with the curvilinear search submodule is described in Algorithm 4, which is used as a submodule in part of our learning algorithm to solve the MMF in (2). The algorithm can be trivially extended to solve problems with multiple variables and constraints.

Algorithm 4 Stiefel manifold gradient descent algorithm
1: Given 0<ρ1<ρ2<10<\rho_{1}<\rho_{2}<1 and ϵ>0\epsilon>0.
2: Given an initial point 𝑿(0)𝒱p(n){\bm{X}}^{(0)}\in\mathcal{V}_{p}(\mathbb{R}^{n}).
3: t0t\leftarrow 0
4: while true do
5:   𝑮((𝑿(t))𝑿i,j(t)){\bm{G}}\leftarrow\big(\frac{\partial\mathcal{F}({\bm{X}}^{(t)})}{\partial{\bm{X}}^{(t)}_{i,j}}\big) 6: \ignorespaces\triangleright Compute the gradient of \mathcal{F} w.r.t 𝑿{\bm{X}} elemense-wise
7:   𝑨𝑮𝑿(t)T𝑿(t)𝑮T{\bm{A}}\leftarrow{\bm{G}}{{\bm{X}}^{(t)}}^{T}-{\bm{X}}^{(t)}{\bm{G}}^{T} 8: \ignorespaces\triangleright See Lemma 2, 3
9:   Initialize τ\tau to a non-zero value. 10: \ignorespaces\triangleright Curvilinear search for the optimal step size
11:   while (26) and (27) are not satisfied do 12: \ignorespaces\triangleright Armijo-Wolfe conditions
13:    ττ2\tau\leftarrow\frac{\tau}{2} 14: \ignorespaces\triangleright Reduce the step size by half
15:   end while
16:   𝑿(t+1)𝒀(τ){\bm{X}}^{(t+1)}\leftarrow{\bm{Y}}(\tau) 17: \ignorespaces\triangleright Update by the Cayley transformation
18:   if (𝑿(t+1))ϵ\|\nabla\mathcal{F}({\bm{X}}^{(t+1)})\|\leq\epsilon then 19: \ignorespaces\triangleright Stopping check. See Lemma 2.
20:    STOP
21:   else
22:    tt+1t\leftarrow t+1
23:   end if
24: end while