pith. machine review for the scientific record. sign in

IndisputableMonolith.Mathematics.NumericalAnalysisFromRS

IndisputableMonolith/Mathematics/NumericalAnalysisFromRS.lean · 47 lines · 8 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2
   3/-!
   4# Numerical Analysis from RS — C Mathematics
   5
   6Five canonical numerical methods (Newton's method, Euler integration,
   7Runge-Kutta, Gaussian elimination, Fast Fourier Transform)
   8= configDim D = 5.
   9
  10In RS: DFT-8 is the canonical numerical algorithm (8 = 2^D modes).
  11FFT is the fast implementation: O(N log N) = O(8 × 3) operations per tick.
  12
  138 × 3 = 24 = 3 × 8 = 3 × 2^D operations.
  14
  15Lean: 5 methods, 8 = 2^3.
  16
  17Lean status: 0 sorry, 0 axiom.
  18-/
  19
  20namespace IndisputableMonolith.Mathematics.NumericalAnalysisFromRS
  21
  22inductive NumericalMethod where
  23  | newton | eulerIntegration | rungeKutta | gaussElimination | fft
  24  deriving DecidableEq, Repr, BEq, Fintype
  25
  26theorem numericalMethodCount : Fintype.card NumericalMethod = 5 := by decide
  27
  28/-- DFT-8 modes = 2^3 = 8. -/
  29def dft8Modes : ℕ := 2 ^ 3
  30theorem dft8Modes_8 : dft8Modes = 8 := by decide
  31
  32/-- FFT operations per tick: 8 × 3 = 24. -/
  33def fftOps : ℕ := 8 * 3
  34theorem fftOps_24 : fftOps = 24 := by decide
  35
  36structure NumericalAnalysisCert where
  37  five_methods : Fintype.card NumericalMethod = 5
  38  eight_modes : dft8Modes = 8
  39  fft_ops : fftOps = 24
  40
  41def numericalAnalysisCert : NumericalAnalysisCert where
  42  five_methods := numericalMethodCount
  43  eight_modes := dft8Modes_8
  44  fft_ops := fftOps_24
  45
  46end IndisputableMonolith.Mathematics.NumericalAnalysisFromRS
  47

source mirrored from github.com/jonwashburn/shape-of-logic