Paper VIIIReading edition

Structured packet primitives

Reading tools
Reading libraryFind statementsInspect Lean
Switch work

Saved reading

Read side by side

Start reading

Resources & source

Original TeX with line links · Download TeX

The wording and mathematics follow the retained manuscript. This reading format does not add a proof review or extend Lean coverage.

Skip contents and start reading

4 Structured packet primitives

The packet representation can store different exact local operator types. This section records the finite formulas used by several measured suites. The results concern representation and arithmetic. They do not assert that one implementation is fastest at every size.

Proposition 4.1: Equal block banded count

Let \(p,b\ge1\) be integers, \(n=pb\), and let \(p=n/b\) equal packets have width \(b\). Suppose a block is active precisely when

\[ {\left\lvert i-j\right\rvert}\leq w, \qquad 0\leq w\leq p-1. \]

The number of active blocks is

\[ \boxed{ N_{p,w} = p(2w+1)-w(w+1). } \]

For \(q\) right hand sides, the modeled application cost and scalar storage are

\[ \boxed{ 2qb^2N_{p,w} \quad\text{and}\quad b^2N_{p,w}. } \]

Proof of Proposition 4.1

The diagonal contributes \(p\) blocks. At offset \(k\), where \(1\leq k\leq w\), the upper and lower block diagonals contribute \(2(p-k)\) blocks. Therefore

\[ p+2\sum_{k=1}^{w}(p-k) = p(2w+1)-w(w+1). \]

The cost and storage follow from Theorem 3.1.

Proposition 4.2: Sparse plus low rank application

Let

\[ A=S+UV^*, \]

where \(S\) has \(z\) stored scalar nonzeros and \(U,V\in{\mathbb C}^{n\times r}\). In the model that charges two operations per stored sparse entry and right hand side, applying \(A\) to \(q\) right hand sides costs

\[ \boxed{ 2q(z+2nr) } \]

modeled operations and stores

\[ \boxed{ z+2nr } \]

scalar values, apart from sparse index metadata.

Proof of Proposition 4.2

The sparse product costs \(2zq\). The two dense thin products cost \(2nrq\) each. The stored values are the nonzeros of \(S\) and the entries of the two factors.

Theorem 4.3: Circulant spectral representation

Let \(n\ge1\) be an integer and \(c\in{\mathbb C}^n\), with indices taken modulo \(n\), and define

\[ C(c)_{jk}=c_{j-k}. \]

Let \(F\) be the unitary discrete Fourier matrix

\[ F_{jk} = \frac{1}{\sqrt n} \exp\left(-\frac{2\pi{\mathrm i} jk}{n}\right). \]

Then

\[ \boxed{ C(c) = F^*{\operatorname{diag}}(\sqrt n\,Fc)F. } \]

The operator is determined by \(n\) scalars and can be applied through two Fourier transforms and one pointwise product.

Proof of Theorem 4.3

For each frequency \(k\), let

\[ v^{(k)}_j = \frac{1}{\sqrt n} \exp\left(\frac{2\pi{\mathrm i} jk}{n}\right). \]

Then

\[ (C(c)v^{(k)})_j = \sum_{r=0}^{n-1}c_rv^{(k)}_{j-r} = \left( \sum_{r=0}^{n-1} c_r\exp\left(-\frac{2\pi{\mathrm i} rk}{n}\right) \right)v^{(k)}_j. \]

The eigenvalue is \(\sqrt n(Fc)_k\). The vectors \(v^{(k)}\) are the columns of \(F^*\), which gives the formula.

The fast Fourier transform evaluates the two transforms in \(O(n\log n)\) arithmetic for the usual composite lengths [CooleyTukey1965]. This is an algorithmic factorization of the exact identity in Theorem 4.3.

Corollary 4.4: Toeplitz circulant embedding

Let \(n\ge1\) be an integer and \(T\in{\mathbb C}^{n\times n}\) be Toeplitz, with first column

\[ (c_0,c_1,\ldots,c_{n-1})^T \]

and first row

\[ (c_0,r_1,\ldots,r_{n-1}). \]

Set

\[ g = (c_0,c_1,\ldots,c_{n-1},0,r_{n-1},\ldots,r_1)^T \in{\mathbb C}^{2n} \]

and append \(n\) zeros to \(x\in{\mathbb C}^n\). The first \(n\) entries of the circulant product \(C(g)(x,0)^T\) equal \(Tx\).

Proof of Corollary 4.4

For \(0\leq j<n\), the circular convolution sum separates into indices \(k\leq j\), where the coefficient is \(c_{j-k}\), and indices \(k>j\), where the wrapped coefficient is \(r_{k-j}\). The padded coordinates do not contribute. The resulting sum is exactly the \(j\)th Toeplitz row applied to \(x\).

Theorem 4.5: Kronecker modewise application

Let \(A\in{\mathbb C}^{m\times m}\), \(B\in{\mathbb C}^{n\times n}\), and \(X\in{\mathbb C}^{n\times m}\). With column major vectorization,

\[ \boxed{ (A\otimes B)\operatorname{vec}(X) = \operatorname{vec}(BXA^T). } \]

The right side has modeled cost

\[ \boxed{ 2n^2m+2nm^2 } \]

and stores \(n^2+m^2\) factor entries instead of \(n^2m^2\) entries.

Proof of Theorem 4.5

The \((i,j)\) entry of \(BXA^T\) is

\[ \sum_{k=1}^{n}\sum_{\ell=1}^{m} B_{ik}X_{k\ell}A_{j\ell}. \]

This is the coordinate formula for \((A\otimes B)\operatorname{vec}(X)\). Multiplying first by \(B\) and then by \(A^T\) gives the stated count.

Corollary 4.6: Equal tensor factors

For integers \(k,d\ge0\), a product of \(k\) square factors of order \(d\), acting on a tensor with \(d^k\) entries, can be applied by \(k\) modewise contractions, reusing intermediate slices, with modeled cost

\[ \boxed{ 2k d^{k+1} } \]

and factor storage \(kd^2\).

Proof of Corollary 4.6

For \(k=0\) there are no contractions and both modeled work and factor storage are zero. For \(k\ge1\), one mode has \(d^{k-1}\) fibers of length \(d\). Multiplying each fiber by a \(d\) by \(d\) matrix costs \(2d^2\), so one mode costs \(2d^{k+1}\). Sum over the \(k\) modes.

Theorem 4.7: Walsh Hadamard recursion

Let \(N=2^m\), and define

\[ H_1=[1], \qquad H_{2N} = \begin{bmatrix} H_N&H_N\\ H_N&-H_N \end{bmatrix}. \]

Then

\[ H_NH_N^T=NI. \]

The product \(H_Nx\) can be evaluated in exactly \(N\log_2N\) additions or subtractions through the recursion.

Proof of Theorem 4.7

The orthogonality identity follows by induction from block multiplication. One recursive stage forms \(x_0+x_1\) and \(x_0-x_1\), which uses \(N\) additions or subtractions, and then applies two transforms of size \(N/2\). Thus

\[ T(N)=2T(N/2)+N, \qquad T(1)=0, \]

whose solution is \(T(N)=N\log_2N\).

Source and conversion record

Source SHA-256: ef616bca9291ac766d492b88f3166be4bc2b39f9ba6034dea3a4bcf2d2bf5d7f

Unsupported prose commands stop the build. The mathematical expression sequence is checked against the source, with manuscript macros expanded for display.

Conversion records

Notation in Paper VIII

Look up a symbol without leaving this chapter. Select text before opening help to search for it.

Search this work’s notation.

    Symbols can have different meanings in different passages. Read each result in its own context.

    Open the full notation index