When the index is a tuple

The orthogonality that cannot be diagonal

A matrix decomposition hands over orthonormal factors and a diagonal middle at once. For three indices the two come apart, and there is no arrangement that has both — so the question stops being which decomposition to use and becomes which of the two properties the computation needs.

Worth reading first: A decomposition made only of SVDs · Orthogonal is a number · When the answer is a choice.

A singular value decomposition delivers two things at the same time, and because it delivers them together nobody has to decide which one they wanted.

The factors are orthonormal: U and V have unit columns and no two of them are correlated, so the decomposition is a change of basis that no norm can see. The middle is diagonal: one number per direction, and the whole matrix is a sum of r independent rank-one pieces that do not interact.

Every use of the decomposition on this site leans on one or the other. Truncation leans on the second, because dropping a diagonal entry drops a whole term. Stability leans on the first, because an orthogonal change of basis does not amplify anything. For three indices the two come apart, and this essay is about which of them survives.

The share of a HOSVD core's energy on its superdiagonal, by family, at rank 6A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 6 entries on the superdiagonal: smooth 97.7%, hilbert 94.5%, wave 26.6%, noise 0.4%. Keeping only those entries costs 0.152, 0.235, 0.857, 0.998 in relative error against the full core's 7.94·10⁻⁶, 1.77·10⁻⁶, 1.34·10⁻¹⁵, 0.842.smooth97.7%hilbert94.5%wave26.6%noise0.4%share of the core's energy on its 6 superdiagonal entrieskeeping only them: 0.152 against 7.94·10⁻⁶keeping only them: 0.235 against 1.77·10⁻⁶keeping only them: 0.857 against 1.34·10⁻¹⁵keeping only them: 0.998 against 0.842orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0044worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 1 How much of a core’s energy sits on the superdiagonal a diagonal reading would need. On a tensor with no structure at all it is 0.4 per cent.

What survives: all-orthogonality

The higher-order SVD’s factors are orthonormal by construction — they are left singular vectors — and its core inherits a real property from them, which is not diagonality and is not nothing.

Fix a mode k and slice the core perpendicular to it: for a three-index core that is r_k matrices, one for each value of the k-th index. Those slices are mutually orthogonal, in the sense that the inner product of any two of them, taken entry by entry, is zero. And their norms are decreasing, and they are the singular values of the k-th unfolding.

That is called all-orthogonality, and it is the honest generalisation of the middle factor is diagonal: for a matrix, the slices perpendicular to either mode are single rows or columns of a diagonal matrix, and two of them are orthogonal for the trivial reason that their supports are disjoint. For a tensor the supports are not disjoint and the orthogonality is a real statement.

It is checked here rather than cited. The largest inner product between two slices of a core, relative to the core’s own energy, is below 10⁻⁹ on every family measured.

The share of a HOSVD core's energy on its superdiagonal, by family, at rank 4A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 4 entries on the superdiagonal: smooth 97.7%, hilbert 94.5%, wave 26.6%, noise 0.4%. Keeping only those entries costs 0.152, 0.235, 0.857, 0.998 in relative error against the full core's 8.81·10⁻⁴, 4.67·10⁻⁴, 1.33·10⁻¹⁵, 0.925.smooth97.7%hilbert94.5%wave26.6%noise0.4%share of the core's energy on its 4 superdiagonal entrieskeeping only them: 0.152 against 8.81·10⁻⁴keeping only them: 0.235 against 4.67·10⁻⁴keeping only them: 0.857 against 1.33·10⁻¹⁵keeping only them: 0.998 against 0.925orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0039worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 2 The same measurement at rank four, where the compressible families concentrate more of their energy on the diagonal and the incompressible one does not move.

One detail of that measurement is worth a sentence because getting it wrong makes the property look false. The inner product between two slices has to be scaled by the core’s norm rather than by the two slices’ own norms. A core with a decaying spectrum has trailing slices at the rounding level, and the cosine between two vectors of norm 10⁻¹⁶ is a cosine between two roundings — O(1), and meaningless. The first version of this measurement reported a worst pair of 7·10⁻⁴ for exactly that reason.

QᵀQ from classical Gram–Schmidt and from Householder on the 8×8 Hilbert matrixTwo eight-by-eight tables of QᵀQ. The upper one has ones on the diagonal and entries as large as one off it; the lower one is the identity to three decimal places everywhere.A = H8 · κ = 1.5·10¹⁰ · both factorisations reconstruct A to 6·10⁻¹⁷the diagonal is 1 in both — every column is a unit vector either way1.000000000001.000000000001.000000000001.000000000001.00000.002-0.002000001.0000.125-0.13300000.0020.1251.000-1.0000000-0.002-0.133-1.0001.000classical Gram–Schmidt1.000000000001.000000000001.000000000001.000000000001.000000000001.000000000001.000000000001.000Householderclassical ‖QᵀQ − I‖1.4Householder ‖QᵀQ − I‖1.4·10⁻¹⁵largest off-diagonal 1 against 3.1·10⁻¹⁶length is not angle
Fig. 3 The orthogonality field’s version of the same discipline: an inner product that is a measurement rather than an adjective, reported entry by entry.

What does not: diagonality

A core is not diagonal, and the question worth asking is not whether but by how much.

Take the leading r × r × r block of the core and ask what fraction of the tensor’s energy sits on its superdiagonal — the r entries with all three indices equal. Everything else would have to be discarded by a decomposition that insisted on a diagonal middle.

family on the diagonal error of a diagonal core error of the full core
smooth 97.7% 0.152 7.9·10⁻⁶
hilbert 94.5% 0.235 1.8·10⁻⁶
wave 26.6% 0.857 1.3·10⁻¹⁵
noise 0.4% 0.998 0.842

The smooth families put most of their energy on the diagonal and still pay a factor of 20,000 in error for the last few per cent of it. The wave family — which is exactly multilinear rank two, and which the full core reproduces to the rounding level — puts a quarter of its energy there, so a diagonal reading of a tensor the format handles perfectly loses 86 per cent of it.

The last row is the one that settles the general question. A tensor with independent normal entries has 0.4 per cent of its energy on the superdiagonal of its own core, because there is no reason for it to have any.

The share of a HOSVD core's energy on its superdiagonal, by family, at rank 10A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 10 entries on the superdiagonal: smooth 97.7%, hilbert 94.5%, wave 26.6%, noise 0.8%. Keeping only those entries costs 0.152, 0.235, 0.857, 0.996 in relative error against the full core's 1.09·10⁻¹¹, 1.44·10⁻¹², 1.33·10⁻¹⁵, 0.498.smooth97.7%hilbert94.5%wave26.6%noise0.8%share of the core's energy on its 10 superdiagonal entrieskeeping only them: 0.152 against 1.09·10⁻¹¹keeping only them: 0.235 against 1.44·10⁻¹²keeping only them: 0.857 against 1.33·10⁻¹⁵keeping only them: 0.996 against 0.498orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0081worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 4 At rank ten, where the diagonal window is wider and the share on it falls for every family — because the entries being added are off it.
The share of a HOSVD core's energy on its superdiagonal, by family, at rank 2A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 2 entries on the superdiagonal: smooth 97.6%, hilbert 94.5%, wave 26.6%, noise 0.2%. Keeping only those entries costs 0.154, 0.235, 0.857, 0.999 in relative error against the full core's 0.0671, 0.0447, 1.32·10⁻¹⁵, 0.971.smooth97.6%hilbert94.5%wave26.6%noise0.2%share of the core's energy on its 2 superdiagonal entrieskeeping only them: 0.154 against 0.0671keeping only them: 0.235 against 0.0447keeping only them: 0.857 against 1.32·10⁻¹⁵keeping only them: 0.999 against 0.971orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0017worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 5 And at rank two, where it is highest, which is the shape of the whole measurement: the diagonal is a line through a cube and its share of the volume shrinks.

What a diagonal core would have to be

It is worth writing down what is being asked for, because the request sounds modest until it is counted.

A decomposition with orthonormal factors and a diagonal core of length r says

T = Σ_j σ_j · u_j ⊗ v_j ⊗ w_j

with the u’s, the v’s and the w’s each orthonormal sets. Count the parameters. Each factor matrix is n × r with orthonormal columns, which is nr − r(r+1)/2 free numbers, and there are d of them, plus r singular values. For n = 12, d = 3 and r = 12 that is 3·(144 − 78) + 12 = 210.

A general 12 × 12 × 12 tensor has 1,728 numbers. So the set of tensors admitting such a decomposition has dimension 210 inside a space of dimension 1,728, which is a measure-zero subset of it — and a measure-zero subset is exactly what “almost no tensor has one” means.

For a matrix the same count gives 2·(144 − 78) + 12 = 144, and a 12 × 12 matrix has 144 numbers. The dimensions match, which is the counting version of the statement that every matrix has an SVD. There is nothing subtle in the difference: for d = 2 the parametrisation is exactly the right size and for d = 3 it is a fraction of the right size, and the fraction shrinks with d.

The share of random 2 × 2 × 2 tensors with real rank two, against the number drawn, and π/4Each draw is eight independent standard normal entries and its rank is decided exactly, by the sign of the hyperdeterminant, with no iteration involved. Over 1,995 draws 1,589 have rank two — a share of 0.7965 against the exact value π/4 = 0.7854, inside 1.2 standard errors. The band is ±2 of them. A random matrix has one typical rank; this is the picture of a random object having two, each with a probability that is a number rather than an experiment.10¹10²10³00.050.10.150.20.250.30.350.40.450.50.550.60.650.70.750.80.850.90.951drawsshare with real rank twoπ/4 = 0.7853981,589 of 1,995 have rank twoa probability with a closed formdraws1995rank two1589share0.8π/40.79standard errors out1.2two typical ranksand the split is π/4
Fig. 6 What a measure-zero condition looks like when it is measured rather than argued, from earlier in this field: a property that occurs with probability zero and a property that occurs with probability π/4.

The two decompositions, and what each gives up

Naming the alternatives makes the trade explicit, because both exist and each keeps one of the two properties.

Keep orthogonality, give up diagonality. That is the higher-order SVD: orthonormal factors, all-orthogonal core, and r^d numbers in the middle. Its truncation is quasi-optimal, its cost is d matrix decompositions, and the previous essay measures both.

Keep diagonality, give up orthogonality. That is the CP decomposition: a sum of r rank-one terms, which is a diagonal core of size r, and factor matrices that are not orthogonal and generally cannot be. Its rank is the object the first two essays of this field are about — the one whose best approximation need not exist and whose value depends on the field.

There is no third option that keeps both, and the reason is a counting argument rather than an accident. An orthogonal decomposition with a diagonal core of size r has r(n₁ + n₂ + n₃ − 2) parameters after the orthogonality constraints are imposed, and a general tensor has n₁n₂n₃; the first is far smaller than the second for any r that keeps the factors orthonormal, so almost no tensor has one.

Alternating least squares on a tensor with a rank-two answer and on one without, over 5,000 sweepsThe steeply falling curve is a rank-three fit to a tensor built from rank-three factors: it reaches 9.74·10⁻¹⁵ in 58 sweeps and its largest term does not move — 12.202 at sweep twenty and 12.202 at the end. The other is a rank-two fit to the border-rank tensor, whose error goes from 0.00677 to 0.00266 and has not finished, while the rising curve is its largest term: 4.698 to 7.42, a factor of 1.58. Fitted over 197 points, the error falls as the 2.04 power of the term size — a better path than the explicit sequence's 1/n, and still one that leaves the set rather than converging inside it.110¹10²10³10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹sweeprelative error, and the largest term's sizerising: the swamp's largest rank-one termfalling, slowly: its errorfalling, once: a fit with an answera plateau with a rising floorswamp error0.0027swamp term7.4term growth1.6benign error9.7·10⁻¹⁵benign term growth1the error alone cannot tellthe size of the terms can
Fig. 7 What the other choice costs, from the field’s essay on it: an iteration over the diagonal-core model, whose factors grow without bound when the target’s best approximation is not there.
How much two runs of the same fit agree about the factors, from 6 starting points eachEvery run here reaches its target to the rounding level — 3·10⁻¹³, 1.16·10⁻¹¹ and 2.39·10⁻¹⁵ at worst — so all three are successful factorisations. The bar is the worst agreement between any two of them about the *factors*, matched over permutations and scalings, which is exactly the freedom the uniqueness theorem allows. Kruskal's condition k_A + k_B + k_C ≥ 2r + 2 holds for the first (9 ≥ 8) and fails for the second (6 < 8), and the bars are 1.0000 and 0.0207. The matrix is the comparison the whole thing rests on: AB = (AM)(M⁻¹B) for every invertible M, so its runs agree to 0.1089 and its factors mean nothing on their own.6 × 6 × 6, rank 3 · 9 ≥ 81.00002 × 2 × 2, rank 3 · 6 < 80.02076 × 6 matrix, rank 3 · no condition0.1089worst agreement between two runs about the factors, 0 to 1every run fits to 3·10⁻¹³every run fits to 1.2·10⁻¹¹every run factorises to 2.4·10⁻¹⁵ and none agrees with anotherthe only thing that improvestensor, Kruskal holds1tensor, Kruskal fails0.021matrix0.11worst residual1.2·10⁻¹¹three successful fitsone recoverable answer
Fig. 8 And what it buys, which is the reason anyone takes it: factors that are recoverable rather than arbitrary.

Which property a computation actually needs

The trade is only interesting because different uses want different halves, and it is worth going through the uses this collection has.

Compression wants orthogonality. A projection onto orthonormal factors has an error that is computable from the discarded singular values, and the bounds of the previous essay are made of them. A non-orthogonal factorisation has no such accounting: its error is whatever the fit achieved.

Interpretation wants diagonality. A rank-one term is a component, and a component is only a component if it stands alone. A core with entries off the diagonal says that direction three of mode one interacts with direction two of mode two, which is a true statement about the tensor and an unusable one about the data.

Arithmetic inside the format wants orthogonality. Adding two representations, applying an operator, truncating the result — all of it is stable when the bases are orthonormal and none of it is when they are not, which is the same reason the orthogonality field exists at all.

So the answer to which decomposition is decided by what is being done, and the two are not competitors for a single job. Where they are competitors, the measurement above says the cost of insisting on diagonality is between a factor of twenty thousand and a factor of a hundred.

Loss of orthogonality against condition number, in binary64A log–log plot of the norm of Q-transpose-Q minus the identity against condition number. Classical Gram–Schmidt rises steeply, modified Gram–Schmidt rises gently, and Householder is flat.110²10⁴10⁶10⁸10¹⁰10¹²10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹condition number κ(A)‖QᵀQ − I‖classicalmodifiedHouseholderκ²uκu8×8, eight seeds per κ, binary64all three reconstruct A
Fig. 9 Why the third of those uses is not negotiable, from the orthogonality field: two algorithms with the same algebra, one of which loses its basis.
Classical and modified Gram–Schmidt: the same subtraction, in a different orderTwo panels of pseudocode differing in one argument, with the resulting pairwise dot products of the computed columns listed beneath each.for each previous column i, subtract the projection of column j onto qᵢclassicalr[i][j] = qᵢ · a[j] ↑ the ORIGINAL columnv = v − r[i][j] · qᵢthe three worst |qᵢ · qⱼ|:columns 7 and 8: 1columns 6 and 8: 0.13columns 6 and 7: 0.13modifiedr[i][j] = qᵢ · v ↑ what is LEFT of itv = v − r[i][j] · qᵢthe three worst |qᵢ · qⱼ|:columns 1 and 8: 4.4·10⁻⁷columns 2 and 8: 2.7·10⁻⁷columns 3 and 8: 2.4·10⁻⁸The two R factors agree to 1.2·10⁻⁶ relative. The two Q factors do not.the 8×8 Hilbert matrixone word, eight orders
Fig. 10 And the same loss printed entry by entry, which is what an all-orthogonality measurement is a three-index version of.

An ordering that is not a spectrum

One further property comes across and one does not, and they are easy to confuse.

The core’s slice norms are ordered — the first slice perpendicular to mode k has the largest norm, the second the next largest, and so on — and those norms are the singular values of the k-th unfolding. So each mode has a spectrum, and the picture of a decaying sequence that every truncation argument on this site relies on is available.

What is not available is a single spectrum for the tensor. There are d of them, they are different lengths, and there is no canonical way to merge them: dropping the last direction of mode one and dropping the last direction of mode two remove different amounts of energy, and neither is comparable with the other except through the sum in squares that the bound uses.

The consequence is that the phrase the k-th singular value of a tensor names nothing, which is why the truncation is specified by a triple of ranks rather than by a single cut-off. Every figure in this field that draws a spectrum draws d of them for that reason.

The three unfoldings of a 10 × 11 × 12 hilbert tensor, and the singular values of eachA tensor has one matrix per index — put that index on the rows and every other index down the columns — and each of those matrices has an ordinary rank. Here they are 8, 8, 8 at a relative tolerance of 10⁻⁸, from a tensor of 1320 entries whose modes are of different lengths. Nothing requires the three numbers to agree, and nothing requires any of them to be the tensor's own rank: they are three different matrices built from one array. The leading singular values are 3.2, 3.2, 3.2, each normalised to its own mode below.02468101210⁻¹⁶10⁻¹²10⁻⁸10⁻⁴1index of the singular valueσ ⁄ σ₁the tolerance the ranks are read atmode 1 · rank 8mode 2 · rank 8mode 3 · rank 8hilbert: three matrices, one arrayentries1320mode-1 rank8mode-2 rank8mode-3 rank8‖T‖3.3three ranksand none of them is the tensor's
Fig. 11 Three spectra on one pair of axes, each normalised to its own leading value, because there is no scale on which comparing them across modes would mean anything.
Singular values of a rank-4 matrix with noise of relative size 10⁻⁶Ten singular values on a logarithmic axis. The first four sit near one; the rest sit at the noise level, and the vertical distance between the two groups is the evidence for the rank.1234567891010⁻¹⁸10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1indexsingular valuecutoff, σ₁ · 10⁻¹⁰numerical rank 10gap 8.2·10⁴an opiniontrue rank 410×10, built with 4 nonzero valuesrank is a decision
Fig. 12 And the decision each of them requires, from the spectra field — taken three times here, and once for a matrix.

The matrix case, reconsidered

It is worth going back and asking what the matrix case is actually doing, because the answer is not that matrices are better behaved.

A matrix has two modes. Its core, in the language above, is r × r, and all-orthogonality of an r × r core forces it to be diagonal: the slices perpendicular to mode one are its rows, the slices perpendicular to mode two are its columns, and requiring all pairs of rows and all pairs of columns to be orthogonal leaves only diagonal matrices.

So diagonality is not an extra property the SVD provides. It is a consequence of all-orthogonality, available only when d = 2, and it disappears the moment there are three sets of slices to be mutually orthogonal rather than two.

That is the cleanest statement of what this field’s break actually is. Nothing was lost; a coincidence stopped applying. And the coincidence is the reason every decomposition anyone learns first has both properties without either being requested.

Error of the best rank-k approximation to a 12×12 matrixApproximation error against k on a logarithmic axis, with the measured error and the next singular value drawn as separate curves lying exactly on top of one another.123456789101110⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²1rank k of the approximation‖A − Aₖ‖measured, 2-normσₖ₊₁, from theorymeasured, Frobeniusthe first two agreeto 2·10⁻⁸worst |‖A−Aₖ‖₂ − σₖ₊₁| / σₖ₊₁2·10⁻⁸worst Frobenius discrepancy2·10⁻⁸κ = 10⁹; 30 random rank-3 matrices, none closerthe error is σₖ₊₁
Fig. 13 The consequence of the coincidence, from the spectra field: an error that is a single discarded number, because there was only one number per direction to discard.
The truncation error of a smooth tensor against the rank kept, between the two bounds the theorem givesThe middle curve is the measured error of the projection; the upper dashed one is √(Σ_k tail_k²), which the theorem says it cannot exceed, and the lower one is max_k tail_k, which the best possible error cannot fall below. They are a factor of √3 apart. The measurement is that the projection sits on the upper one, and not between them: the ratio of error to bound runs 0.688, 0.717, 0.879, 0.933 … 0.999982, so by rank 10 the bound is attained to five decimals and the ratio to the lower bound is 1.7320 against √3 = 1.7321. That reads as a bad result and is not one — what it says is that the lower bound is weak, which only a second measurement can establish.024681010⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹rank kept in every moderelative errordashes above: √(Σ tail²), the upper bounddashes below: max tail, a floor under the bestsolid: what the projection returnssmooth: pinned to the upper boundrank 10 error1.1·10⁻¹¹its upper bound1.1·10⁻¹¹the lower bound6.3·10⁻¹²error ⁄ bound1error ⁄ lower1.7inside the boundand sitting on it
Fig. 14 And what replaces it here: an error made of three tails, whose sum in squares is the bound.

What it means for the rest of the collection

Two arguments elsewhere on this site are quietly the same argument as this one, and putting them beside it is worth doing because none of the three is about tensors.

The hierarchy field’s recompression essay finds that a sum of two rank-k blocks is a rank-2k block exactly, so a format built on rank-k blocks is not closed under its own addition and every operation must be followed by a truncation. That is the same shape: the representation has a property the arithmetic does not preserve, and what is preserved instead is a bound on how much is lost.

The least-squares field’s normal equations essay finds that a route which is algebraically identical squares the condition number. Again the same shape: two constructions agree on what they compute and differ on what they preserve.

And the orthogonality field’s two Gram–Schmidts is the original. Same algebra, different arithmetic, and the difference is measured as ‖QᵀQ − I‖ rather than as a residual, because the residual does not see it.

What this page adds to the family is that the property being lost is not lost to rounding. Every measurement here is exact to the rounding level; the core is genuinely not diagonal, in exact arithmetic, for reasons of dimension. That makes it the cleanest member of the group: nothing about precision, nothing about an implementation, and a fact that survives being computed in any arithmetic at all.

The singular values of a sum of two rank-4 blocks, and the 4 a truncation has to discardA rank-4 block times a vector is a rank-4 block times a vector. A rank-4 block times a rank-4 block is a rank-4 block. A rank-4 block PLUS a rank-4 block is a rank-8 block, exactly, and the 8 bars here are why: the sum of two 4-dimensional spaces is generally 8-dimensional, and none of the 8 singular values is small. Truncating back to 4 costs 61.9 per cent of the block. Below the 8th the values are the unit roundoff, which is the check that the doubling is exact rather than approximate. Every product, every factorisation and every Schur complement inside this format is a chain of these, and there is nothing else to do: without the truncation the ranks double at every level and the format is dense by the bottom.σ ⁄ σ₁ of the sum, 64 × 64σ1, kept1σ2, kept0.922σ3, kept0.812σ4, kept0.785σ5, discarded0.778σ6, discarded0.758σ7, discarded0.658σ8, discarded0.571σ92.63·10⁻¹⁶σ102.3·10⁻¹⁶the operation that is not closedrank of each term4rank of the sum8truncated back to4cost of the truncation0.62the best there is0.62two planesmake a four-space
Fig. 15 The hierarchy field’s version, from the essay that measures it: a rank that doubles under addition, and the truncation that has to follow it.
Loss of orthogonality against condition number, in binary32A log–log plot of the norm of Q-transpose-Q minus the identity against condition number. Classical Gram–Schmidt rises steeply, modified Gram–Schmidt rises gently, and Householder is flat.110²10⁴10⁶10⁸10¹⁰10¹²10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹condition number κ(A)‖QᵀQ − I‖classicalmodifiedHouseholderκ²uκu8×8, eight seeds per κ, binary32all three reconstruct A
Fig. 16 And the original, from the orthogonality field: two orders of the same arithmetic, and a measurement that separates them.

The refusal

The claim under test is the name. This decomposition is called the higher-order SVD, and the natural reading of that name is that its core plays the role a matrix’s middle factor plays.

So the assertion that the off-diagonal share of a smooth tensor’s core is below 10⁻⁸ is fed the measured value. It fails — the share is 2.3 per cent on the family where it is smallest, and 99.6 per cent on the family with no structure.

Refusing it matters because the name is the whole of the mistake. Nothing in the construction claims diagonality and nothing in the theorem claims it; what claims it is the analogy the name invites, and an analogy is not a thing a gate can fail. Feeding the assertion the number is the only available way to make the claim testable at all.

The file’s other refusals guard the two neighbouring readings. One is fed a rank-two truncation of a noise tensor and required to refuse the claim that it is exact — the untruncated decomposition is, and a truncation of it is not. The other is fed the ratio of the truncation error to the lower bound and required to refuse the claim that the projection attains it, which is the previous essay’s subject.

At other settings

The share of a HOSVD core's energy on its superdiagonal, by family, at rank 3A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 3 entries on the superdiagonal: smooth 97.7%, hilbert 94.5%, wave 26.6%, noise 0.4%. Keeping only those entries costs 0.152, 0.235, 0.857, 0.998 in relative error against the full core's 0.0122, 0.00526, 1.32·10⁻¹⁵, 0.951.smooth97.7%hilbert94.5%wave26.6%noise0.4%share of the core's energy on its 3 superdiagonal entrieskeeping only them: 0.152 against 0.0122keeping only them: 0.235 against 0.00526keeping only them: 0.857 against 1.32·10⁻¹⁵keeping only them: 0.998 against 0.951orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0038worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 17 Rank three, between the two settings the argument is made at.
The share of a HOSVD core's energy on its superdiagonal, by family, at rank 8A matrix SVD hands over orthonormal factors and a diagonal middle at the same time. For three indices they come apart, and this is the half that does not survive. Every core here is all-orthogonal — the largest inner product between two slices perpendicular to a mode, relative to the core's own energy, is 3.5·10⁻¹⁶ — and none of them is diagonal. The bars are the fraction of the squared norm carried by the 8 entries on the superdiagonal: smooth 97.7%, hilbert 94.5%, wave 26.6%, noise 0.7%. Keeping only those entries costs 0.152, 0.235, 0.857, 0.996 in relative error against the full core's 4.09·10⁻⁹, 2.72·10⁻⁹, 1.37·10⁻¹⁵, 0.707.smooth97.7%hilbert94.5%wave26.6%noise0.7%share of the core's energy on its 8 superdiagonal entrieskeeping only them: 0.152 against 4.09·10⁻⁹keeping only them: 0.235 against 2.72·10⁻⁹keeping only them: 0.857 against 1.37·10⁻¹⁵keeping only them: 0.996 against 0.707orthogonal, and not diagonalsmooth on-diagonal0.98hilbert on-diagonal0.94wave on-diagonal0.27noise on-diagonal0.0071worst slice pair3.5·10⁻¹⁶the slices are orthogonalthe core is not diagonal
Fig. 18 And rank eight, where the diagonal window is wide and the compressible families have started to fall.
The truncation error of a wave tensor against the rank kept, between the two bounds the theorem givesThe middle curve is the measured error of the projection; the upper dashed one is √(Σ_k tail_k²), which the theorem says it cannot exceed, and the lower one is max_k tail_k, which the best possible error cannot fall below. They are a factor of √3 apart. The measurement is that the projection sits on the upper one, and not between them: the ratio of error to bound runs 0.780, 1.103, 1.292, 1.530 … 0.779766, so by rank 10 the bound is attained to five decimals and the ratio to the lower bound is 7.1766 against √3 = 1.7321. That reads as a bad result and is not one — what it says is that the lower bound is weak, which only a second measurement can establish.024681010⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹rank kept in every moderelative errordashes above: √(Σ tail²), the upper bounddashes below: max tail, a floor under the bestsolid: what the projection returnswave: pinned to the upper boundrank 1 error0.89its upper bound1.1the lower bound0.69error ⁄ bound0.78error ⁄ lower1.3inside the boundand sitting on it
Fig. 19 The family whose core is exactly rank two and whose diagonal reading still loses 86 per cent of it.
The truncation error of a noise tensor against the rank kept, between the two bounds the theorem givesThe middle curve is the measured error of the projection; the upper dashed one is √(Σ_k tail_k²), which the theorem says it cannot exceed, and the lower one is max_k tail_k, which the best possible error cannot fall below. They are a factor of √3 apart. The measurement is that the projection sits on the upper one, and not between them: the ratio of error to bound runs 0.618, 0.648, 0.687, 0.725 … 0.927736, so by rank 10 the bound is attained to five decimals and the ratio to the lower bound is 1.5839 against √3 = 1.7321. That reads as a bad result and is not one — what it says is that the lower bound is weak, which only a second measurement can establish.024681010⁻¹rank kept in every moderelative errordashes above: √(Σ tail²), the upper bounddashes below: max tail, a floor under the bestsolid: what the projection returnsnoise: pinned to the upper boundrank 10 error0.5its upper bound0.54the lower bound0.31error ⁄ bound0.93error ⁄ lower1.6inside the boundand sitting on it
Fig. 20 And the family where nothing works, which is the row of the table that settles the general question.
The three unfoldings of a 10 × 11 × 12 wave tensor, and the singular values of eachA tensor has one matrix per index — put that index on the rows and every other index down the columns — and each of those matrices has an ordinary rank. Here they are 2, 2, 2 at a relative tolerance of 10⁻⁸, from a tensor of 1320 entries whose modes are of different lengths. Nothing requires the three numbers to agree, and nothing requires any of them to be the tensor's own rank: they are three different matrices built from one array. The leading singular values are 18.7, 19.3, 18.7, each normalised to its own mode below.02468101210⁻¹⁶10⁻¹²10⁻⁸10⁻⁴1index of the singular valueσ ⁄ σ₁the tolerance the ranks are read atmode 1 · rank 2mode 2 · rank 2mode 3 · rank 2wave: three matrices, one arrayentries1320mode-1 rank2mode-2 rank2mode-3 rank2‖T‖26three ranksand none of them is the tensor's
Fig. 21 The three matrices behind that row, each of rank two — an array that separates at every index and still has a dense core.
Numbers stored against the number of indices, at n = 20 and rank 4: the tensor, its core, and a trainThe tensor is n^d, which at d = 20 is 1.05·10²⁶. A Tucker representation of it is r^d + d·n·r — the core is still exponential in d, so at rank 4 it is 1.1·10¹², smaller than the tensor by 9.54·10¹³ and still unstorable. A train is (d − 2)nr² + 2nr, which is 5,920 — linear in d. The three lines are the field's whole argument: fixing the definition of the decomposition does not fix the size of what it returns, and the second fix is the same projection cut in a different place.15913172110¹10⁶10¹¹10¹⁶10²¹10²⁶number of indicesnumbers storedthe tensor: n^dthe core: r^d + dnrthe train: (d − 2)nr² + 2nrthe curse, movedentries at d = 2010²⁶core1.1·10¹²train5920core ⁄ train1.9·10⁸entries ⁄ core9.5·10¹³the definition is repairedthe size is not
Fig. 22 What the dense core costs as indices are added, which is why the next essay exists.
Train ranks at each of the 4 cuts of a 5-index tensor on 6 points a side, four familiesCut the index list after position k, put the first k indices on the rows and the rest on the columns, and take the rank of the matrix that results. There are 4 such cuts and each rank is an ordinary matrix rank. sin(x₁ + … + x_d) has rank exactly two at every one of them, for every d, because the addition formula separates it into two terms at every cut — a rank written down rather than measured, and the computed values are 2, 2, 2, 2. The reciprocal family climbs to 9, the product family is one everywhere, and independent normal entries reach 36, which is the largest rank the cut allows. Storage runs sinsum 96, reciprocal 1,206, product 30, noise 10,440 against 7,776 entries.012345061218243036cut after index krank of the reshapesinsum · 2 2 2 2reciprocal · 6 9 9 6product · 1 1 1 1noise · 6 36 36 64 cuts, 4 rankssinsum stored96reciprocal stored1206product stored30noise stored10⁴entries7776one rank per cutand one of them is a theorem
Fig. 23 And the format that keeps orthogonality, gives up the dense core, and cuts between the indices instead of across them.
One Householder reflection, and the sign that keeps it stableA vector, the mirror line through the origin, and its reflection landing on the negative first axis at the same distance from the origin.the mirrorx, length 4.000Hx = (-4.000, 0)v = x − αe₁safe sign: α = −‖x‖, so v is formed from a sum and nothing cancelsunsafe sign: α = +‖x‖ gives ‖v‖ only 35.1% of ‖x‖ + ‖x‖ — the digits go‖HᵀH − I‖5·10⁻¹⁶‖Hx‖ − ‖x‖8.9·10⁻¹⁶second component2.2·10⁻¹⁶built from a unit vectororthogonality is structural
Fig. 24 The orthogonality field’s own object, for scale: a transformation that cannot stop being orthogonal, which is the property this page says survives.
‖A − Q‖_F for four orthogonal matrices, on an 8×8 matrix with κ = 1000The polar factor is 2.4442 from A. QR with its column signs fixed is 2.7683 — 13 per cent further. QR as Householder returns it, with 5 of 8 columns negated, is 3.2340, which is further than the best of two hundred orthogonal matrices drawn at random. The strip beneath the bars is those two hundred draws, whose best is 2.7243; the polar factor is to the left of all of them, which is the minimisation being checked rather than assumed.how far is it from A to an orthogonal matrix?smaller is nearer · the polar factor minimises this in every unitarily invariant normpolar factor U2.4442QR, signs fixed2.7683QR as returned3.2340200 drawn at randomκ = 1000polar factor2.4QR, signs fixed2.8QR as returned3.2best of 200 random2.7‖A − QR‖ is the same either wayand ‖A − Q‖ is not
Fig. 25 And the nearest orthogonal matrix to a given one, from the essay that computes it — the matrix question whose tensor analogue does not exist.
A plane of 2 × 2 × 2 tensors, coloured by the sign of the hyperdeterminant that decides their rankTwo of the eight entries are varied over ±2 and the other six are held at the values that make the centre of the picture the rank-three tensor A = e₁⊗e₁⊗e₂ + e₁⊗e₂⊗e₁ + e₂⊗e₁⊗e₁. The light region is Δ > 0, where the tensor has real rank two and two real rank-one terms exist; the dark region is Δ < 0, where the real rank is three and the complex rank is two. 54.2 per cent of this window is rank two. The boundary between them is the curve Δ = 0, on which the rank is three and the distance to the rank-two set is zero — every point of it is a tensor with no nearest rank-two approximation.rank three, Δ = 0a₁₁₁ across, a₀₀₀ up, both over ±2light: two real roots, rank two · dark: a conjugate pair, rank threeone sign, two rankscells sampled4096rank two2222rank three1874Δ at the centre0rank at the centre3the rank is a signcomputed from eight numbers
Fig. 26 The other half of the trade, from three essays back: the geometry of the diagonal-core model, and where it stops having a nearest point.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

CP decompositionEckart–YoungHigher-order SVDLow-rank approximationMultilinear rankOrthogonalityTensor rankTruncated svdTucker decompositionUnfolding