✦ For everyone, free.

Practical knowledge for real and everyday life

Home

14.20.5 Tensor Map Product Component Verification

Tensor Map Product Component Verification ensures accurate computation of tensor products by validating component-wise transformations within algebraic structures.

Tensor Map Product Component Verification is the practical, computational stage of the verification procedure in which a specific candidate matrix, proposed as the representation of fg relative to fixed bases, is checked entry by entry, or through a small set of numerical cross-checks, against the values dictated by the tensor map product basis coefficient rule.


Preliminary Size Check

Matching Dimensions Before Matching Entries

Before comparing any individual entry, confirm that the candidate matrix has the correct shape: if F is p×n and G is q×m, the candidate for fg must be pq×nm; a mismatch in the number of rows or columns immediately disqualifies the candidate without any entrywise comparison being necessary.


Entrywise Verification

Selecting an Entry to Check

Fixing an ordering convention, pick a row corresponding to a pair (a,b) and a column corresponding to a pair (i,j), and read off the candidate's entry at that position, call it c.

Comparing Against the Coefficient Rule

Compare c against the product FiaGjb read from the original matrices F and G,

c = Fia Gjb

Repeating this comparison across enough entries, and in the worst case across all pqnm entries, constitutes a complete component verification.

Exploiting Block Structure to Reduce Work

Rather than checking every entry independently, component verification is typically organized block by block: the block in position (i,a) should equal Fia times the entire matrix G, so verifying one block confirms qm entries at once, reducing the number of independent checks from pqnm down to pn block comparisons, each itself comparing a full copy of G against a scaled version of the candidate block.


Numerical Cross-Checks Without Full Entrywise Comparison

Trace Cross-Check

When F and G are square, computing the trace of the candidate and comparing it to the product

tr(FG) = tr(F) tr(G)

catches many errors cheaply, since an incorrect candidate will generally fail to reproduce this specific numerical identity even though it does not, by itself, prove full correctness.

Determinant Cross-Check

For square F of size n and square G of size m, the determinant of a correct candidate must satisfy

det(FG) = det(F)m det(G)n

a stronger cross-check than the trace identity, since it involves the dimensions n and m explicitly and is therefore more sensitive to certain structural errors, such as a candidate built with the roles of F and G swapped.

Rank Cross-Check

Comparing the rank of the candidate against rank(F)rank(G) provides a cross-check applicable even when F and G are not square, unlike the trace and determinant checks, which apply only in the operator case.


Limits of Cross-Checks

Cross-Checks Are Necessary but Not Sufficient

A candidate matrix can satisfy the trace, determinant, and rank cross-checks simultaneously while still failing to equal FG in some entries, since these are scalar invariants that do not capture the full information contained in the matrix; component verification is only conclusive once every entry, or every block, has been checked directly, with the numerical cross-checks serving as an inexpensive first filter rather than a replacement for the complete comparison.

Candidate matrix, block (i,a) candidate block compare to F_i^a × G expected block One block check confirms qm entries at once