Finite integer-harmonic fields #
The coefficients form a genuine finite group algebra. Evaluation is the
literal exponential sum, multiplication is convolution, and angular means
are actual interval integrals over a period of length 2*pi.
Coefficients: an abbreviation for AddMonoidAlgebra (α → ℂ) ℤ.
Equations
Instances For
Coefficient access for the wrapped group algebra.
Equations
- NavierStokes.HarmonicFields.instCoeFunCoefficientsForallIntForallComplex = { coe := fun (c : NavierStokes.HarmonicFields.Coefficients α) => ⇑c.coeff }
Sum: an abbreviation for c.coeff.sum f.
Instances For
Character, given by Complex.exp ((j : ℂ) * (φ : ℂ) * Complex.I).
Equations
- NavierStokes.HarmonicFields.character j φ = Complex.exp (↑j * ↑φ * Complex.I)
Instances For
Character hom, bundling toFun, map_one, map_mul.
Equations
- NavierStokes.HarmonicFields.characterHom φ = { toFun := fun (j : Multiplicative ℤ) => NavierStokes.HarmonicFields.character (Multiplicative.toAdd j) φ, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Evaluate hom, given by AddMonoidAlgebra.liftNCRingHom (Pi.evalRingHom (fun _ : α => ℂ) x) (characterHom φ) (fun _ _ => Commute.all _ _).
Equations
- NavierStokes.HarmonicFields.evaluateHom x φ = AddMonoidAlgebra.liftNCRingHom (Pi.evalRingHom (fun (x : α) => ℂ) x) (NavierStokes.HarmonicFields.characterHom φ) ⋯
Instances For
Evaluate, given by c.sum (fun j a => a x * character j φ).
Equations
- NavierStokes.HarmonicFields.evaluate c x φ = c.sum fun (j : ℤ) (a : α → ℂ) => a x * NavierStokes.HarmonicFields.character j φ
Instances For
The slow/auxiliary parameter is x. Its coefficient functions have
no angular input. The angular frequency is the literal integer j*kp.
Equations
- NavierStokes.HarmonicFields.field c k Φ kp p = NavierStokes.HarmonicFields.evaluate c p.1 (k * Φ p.1 + ↑kp * p.2)
Instances For
This is a genuine normalized angular integral.
Equations
Instances For
Nonzero integer angular frequency makes the actual angular mean pick precisely the zero harmonic, regardless of the slow phase or carrier band.
Coefficient mass, given by ∑ j ∈ c.support, ‖c j x‖.
Instances For
A value estimate with constant one, independent of every frequency and of the largest occupied harmonic.
Conjugate reverse, constructed using AddMonoidAlgebra.ofCoeff.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conjugate symmetric, given by ∀ j x, c (-j) x = conj (c j x).
Equations
- NavierStokes.HarmonicFields.ConjugateSymmetric c = ∀ (j : ℤ) (x : α), c.coeff (-j) x = (starRingEnd ℂ) (c.coeff j x)
Instances For
The zero mode of the actual product is the complex coefficient covariance, with conjugacy supplying the negative harmonics.
The coefficient covariance is the actual angular average used by
MeanResidual, when coefficients are angularly invariant and the phase
has the stated integer angular increment.
Band limited, given by ∀ j ∈ c.support, j.natAbs ≤ N.
Equations
- NavierStokes.HarmonicFields.BandLimited c N = ∀ j ∈ c.support, j.natAbs ≤ N
Instances For
Constant coefficient, given by AddMonoidAlgebra.single 0 a.
Instances For
A literal quadratic update with arbitrary slow coefficient functions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Quadratic iterate as an element of ℕ → Coefficients α | 0 => c | n + 1 => quadraticStep (A n) (B n) (C n) (quadraticIterate A B C c n).
Equations
- NavierStokes.HarmonicFields.quadraticIterate A B C c 0 = c
- NavierStokes.HarmonicFields.quadraticIterate A B C c n.succ = NavierStokes.HarmonicFields.quadraticStep (A n) (B n) (C n) (NavierStokes.HarmonicFields.quadraticIterate A B C c n)
Instances For
Starting in harmonics {-1,0,1}, the actual convolution update has
largest harmonic value at most 2^stage. This is a bound on values,
not merely on the number of supported frequencies.
Quadratic envelope as an element of ℕ → ℝ | 0 => coefficientMass c x | n + 1 => ‖A n x‖ + ‖B n x‖ * quadraticEnvelope A B C c x n + ‖C n x‖ * quadraticEnvelope A B C c x n ^ 2.
Equations
- One or more equations did not get rendered due to their size.
- NavierStokes.HarmonicFields.quadraticEnvelope A B C c x 0 = NavierStokes.HarmonicFields.coefficientMass c x
Instances For
Wave, given by c.sum (fun j a => HarmonicCalculus.mode (k * (j : ℝ)) Φ a x).
Equations
- NavierStokes.HarmonicFields.wave c k Φ x = c.sum fun (j : ℤ) (a : E → ℂ) => NavierStokes.HarmonicCalculus.mode (k * ↑j) Φ a x
Instances For
Derivative coefficient, given by HarmonicCalculus.along V a x + HarmonicCalculus.phaseFactor (k * (j : ℝ)) * Complex.ofReal (HarmonicCalculus.along V Φ x) * a x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Differentiate, constructed using AddMonoidAlgebra.ofCoeff.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Differentiating the actual finite wave applies the full product rule to each coefficient and phase, and introduces no new harmonic values.
Iterated coefficients as an element of ℕ → Coefficients E | 0 => c | n + 1 => differentiate V k Φ (iteratedCoefficients V k Φ c n).
Equations
Instances For
Iterated along as an element of ℕ → (E → ℂ) → E → ℂ | 0, f => f | n + 1, f => HarmonicCalculus.along V (iteratedAlong V n f).
Equations
Instances For
All repeated actual directional derivatives retain the original finite set of harmonic values. Direction-field derivatives are included.
Angular differentiate, constructed using AddMonoidAlgebra.ofCoeff.
Equations
- NavierStokes.HarmonicFields.angularDifferentiate kp c = AddMonoidAlgebra.ofCoeff (Finsupp.onFinset c.support (fun (j : ℤ) (x : α) => ↑(j * kp) * Complex.I * c.coeff j x) ⋯)
Instances For
The literal angular derivative acts diagonally on the same harmonic
values, with multiplier i*j*kp.