Documentation

Expdb.ExponentialSums.ScaleTransfer

Finite scale transfer for exponential sums #

This module gives two ways to rewrite an exponential sum at a different length scale. Finite Fourier inversion dilates a sum from scale N to q * N, while decomposition into residue classes produces sums at scales approximately N / q. These identities are used to compare the exponential-sum growth exponent at different values of α.

Finite Fourier orthogonality #

Reindexing exponential sums #

theorem Expdb.exponentialSumAt_dilate (F : ) (T N : ) (a b q : ) [NeZero q] (hq : 0 < q) (hT : T 0) (hN : N 0) :
exponentialSumAt F T N a b = (↑q)⁻¹ * h : ZMod q, exponentialSumAt (fun (u : ) => F u + h.val * N / T * u) T (q * N) (q * a) (q * b)

Finite Fourier inversion expresses a sum at scale N as an average of sums dilated by q.

theorem Expdb.norm_exponentialSumAt_dilate_le (F : ) (T N : ) (a b q : ) [NeZero q] (hq : 0 < q) (hT : T 0) (hN : N 0) :
exponentialSumAt F T N a b h : ZMod q, exponentialSumAt (fun (u : ) => F u + h.val * N / T * u) T (q * N) (q * a) (q * b) / q

Triangle-inequality form of exponentialSumAt_dilate.

noncomputable def Expdb.residueScale (N : ) (q r : ) :

The scale induced by restricting a sum to the residue class r mod q.

Equations
Instances For
    noncomputable def Expdb.residuePhase (F : ) (N : ) (r : ) :

    The affine phase induced by restricting a sum to the residue class r mod q.

    Equations
    Instances For
      theorem Expdb.residuePhase_identity (F : ) (N : ) (q r m : ) (hN : N 0) (hrN : r < N) :
      residuePhase F N r (m / residueScale N q r) = F (↑(q * m + r) / N)

      Evaluation of the residue-class phase at its rescaled integer arguments.

      theorem Expdb.exponentialSumAt_residue (F : ) (T N : ) (a b q r : ) (hq : 0 < q) (hr : r < q) (hra : r a) (hab : a b) (hN : N 0) (hrN : r < N) :
      nFinset.Icc a b with n % q = r, oscillatory F T N n = exponentialSumAt (residuePhase F N r) T (residueScale N q r) ((a - r) ⌈/⌉ q) ((b - r) / q)

      Reindex one residue class as an exponential sum with residuePhase and residueScale.

      theorem Expdb.norm_exponentialSumAt_le_sum_residues (F : ) (T N : ) (a b q : ) (hq : 0 < q) (hqN : q N) (hN : N 0) (ha : N a) (hb : b 2 * N) :
      exponentialSumAt F T N a b rFinset.range q, (exponentialSumAt (residuePhase F N r) T (residueScale N q r) ((a - r) ⌈/⌉ q) (min ((b - r) / q) 2 * residueScale N q r⌋₊) + 1)

      Split an exponential sum into residue classes, trimming each upper endpoint at a cost of at most one term.