Optimization-Based Algorithms for Tensor Decompositions: Canonical Polyadic Decomposition, Decomposition in Rank-(Lr, Lr, 1) Terms, and a New Generalization 1: Block Structure of the Gramian JᴴJResearch Paper
Motivation
Tensor decompositions express a multiway array as a sum of simple terms. The canonical polyadic decomposition (CPD) writes an -th order tensor as a sum of outer products of vectors; block term decompositions replace each rank-one term by a term of higher multilinear rank. These models are used in signal processing, blind source separation and telecommunications, and are computed numerically by minimizing a least-squares misfit.
Sorber, Van Barel and De Lathauwer (SIAM J. Optim. 23(2), 2013) introduce the (rank- rank-1) block term decomposition (BTD), which contains both the CPD and the rank- BTD as special cases, and develop optimization algorithms for it: nonlinear conjugate gradient and quasi-Newton methods built on the complex gradient, and Gauss–Newton and Levenberg–Marquardt methods built on the Jacobian. For the second family the central object is the Gramian of the Jacobian of the residual. Theorem 4.5 of the paper gives its exact block structure, and that structure is what lets the methods run without ever forming .
Setting
Fix modes with dimensions , a number of terms , and block sizes ; put . The BTD approximates by
where the inner sum runs over the columns of block . Here and .
The paper reads this as a structured CPD in rank-one terms. The first factor matrices are the , and the last are
where copies column of into the columns of block . The residual tensor is
and the unknowns are . The Jacobian is the complex (holomorphic) derivative: is a polynomial in , not in .
Three auxiliary matrices enter the answer. The first is , the Hadamard product of the Gramians of the factor matrices outside a mode set , with entries . The second is , which satisfies (Proposition 4.1). The third is the block diagonal .
Formalization targets
Goal: Theorem 4.5
For every tensor and every ,
The goal has two parts, and both are required. The first is that the Gramian of the CPD Jacobian equals the explicit block matrix. The second is the factorization through .
Milestones
- The columns of the CPD Jacobian are rank-one tensors: .
- Diagonal blocks: inner products , hence the block .
- Off-diagonal blocks: inner products , hence the rank-one block .
- Proposition 4.1: the vec identity for and the chain rule (4.3b) for the Jacobian columns of .
- The blocks of that involve some are , and , i.e. .
Significance
With Theorem 4.5, is determined by the factor matrices and the small Gramians . For a hypercubical CPD this takes extra memory instead of the of a dense Gramian. Theorem 4.6 of the paper then turns the same structure into a matrix–vector product in operations, which is what inexact Gauss–Newton and Levenberg–Marquardt steps solved by preconditioned conjugate gradients require. The block-diagonal part also gives the block Jacobi preconditioner of the paper's §4.2. For the CPD, expressions for the Gramian were already studied in chemometrics (the paper cites G. Tomasi's 2006 thesis for this); Theorem 4.5 states the block structure in closed form and extends it to the structured BTD through .
The result is proved in the paper. As far as a search of Prove2Me and Mathlib shows, nothing about CPD or BTD Jacobians has been formalized. This mission produces a machine-checked proof of the block structure, starting from an explicit model of the decomposition and an honest complex derivative. That model (outer products, the structured CPD, , , the Hadamard-Gramian products) can be reused for the paper's cogradient theorem and for other tensor algorithms.
Difficulty
The identity is finite-dimensional, but no single step reduces it to a known lemma. First, is a genuine derivative of a multilinear polynomial map in complex variables, so each entry has to be computed from the derivative of a sum of products. Second, is a sum over all multi-indices. Turning it into the product of Gramians in means exchanging a sum of products with a product of sums while one or two modes are held fixed, with the conjugates landing on crossed column indices (, ). Third, the structured factor matrices are not unknowns. The derivative with respect to has to go through the chain rule and the vec–Kronecker identity, and 's rows and columns are indexed by different sets.
Formalization scope
All objects are defined in TensorBTD.Gramian.Setting, with the following conventions.
- Modes and columns. The modes are
Fin P ⊕ Fin Q(mode isSum.inl (p-1)and mode isSum.inr (q-1)), so all indices are 0-based. The columns areΣ r : Fin R, Fin (L r)in lexicographic order, which is the order of (3.5). - Tensors and residuals. A tensor is a function of the multi-index. The residual is defined entrywise as a sum of outer products. The paper's (3.8) is its mode- unfolding.
- Vectorization and Kronecker products. Vectorized indices are (column, row) pairs, Mathlib's column-major
Matrix.vec. This is the paper's Definition 2.5 with its misprint corrected to . Kronecker products are Mathlib's⊗ₖ. - Jacobian. The Jacobian is defined column by column as the complex derivative
derivof at . It is not defined by its closed form, and it is not a real derivative. - The unstructured CPD. differentiates with respect to for every , including , where is not an unknown. It is therefore taken as the Jacobian of the unstructured CPD residual in terms, with all factor matrices free, evaluated at the factor matrices of . This is how the paper's proof uses it.
There are no hypotheses. The paper's assumptions that and its qualifiers "nonzero" and "rank-" are not used in Section 4, so they are dropped. This is a generalization: gives the plain CPD in terms.
A goal that took the closed form of as the definition, or that defined entrywise by the outer-product formula of milestone 1, would only state a sum identity. Both are ruled out: is a derivative, and the goal asserts that the Gramian of the CPD Jacobian equals the closed form. A misprint in the proof's closing paragraph, for the block, is corrected in Lean to .
Useful Mathlib infrastructure includes Matrix.vec, Matrix.kroneckerMap, Matrix.blockDiagonal', Finset.prod_univ_sum and the derivative rules for finite products (HasDerivAt.finset_prod). General lemmas welcome as contributions: derivatives of multilinear maps along coordinate directions, the sum–product exchange over Fintype.piFinset, and the chain rule for a Jacobian composed with a linear map.
Selected references
- L. Sorber, M. Van Barel, L. De Lathauwer, Optimization-Based Algorithms for Tensor Decompositions: Canonical Polyadic Decomposition, Decomposition in Rank- Terms, and a New Generalization, SIAM J. Optim. 23(2), 695–720, 2013. https://doi.org/10.1137/120868323
- T. G. Kolda, B. W. Bader, Tensor Decompositions and Applications, SIAM Review 51(3), 455–500, 2009. https://doi.org/10.1137/07070111X
- L. De Lathauwer, Decompositions of a Higher-Order Tensor in Block Terms — Part II: Definitions and Uniqueness, SIAM J. Matrix Anal. Appl. 30(3), 1033–1066, 2008. https://doi.org/10.1137/070690729
- L. Sorber, M. Van Barel, L. De Lathauwer, Unconstrained Optimization of Real Functions in Complex Variables, SIAM J. Optim. 22(3), 879–898, 2012. https://doi.org/10.1137/110832124