Home Developers Evidence math.transform.dft

Public evidence

math.transform.dft

Machine-checked verification for calculation version 1.2.0 · tier engine_tested

Verification

17/17 calculation tests · Production surface contract 3/3

  • Golden tests 6 / 6
  • Boundary tests 3 / 3
  • Property tests 8 / 8
  • Production surface contract 3 / 3
  • }
  • Engine tested Yes
  • Source checked Yes
  • Artifact integrity PASS
  • Production attestation Embedded snapshot: unpublished · Build schema 1.2.0 ready · Semantic contract ✓ · Attestation report not published on origin · Live production status STALE (2 capabilities; 162 remain CURRENT) @ 2026-09-20T09:01:12.147Z
  • Semantic contract PASS
  • Evidence attested at 2026-09-18T21:41:55.460Z
  • Last production check 2026-09-18T21:41:55.460Z
  • Public / cache
  • Origin
  • Supplemental domain review Not performed
  • Named expert review Not performed
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS

Fingerprint sha256:a8cbd603acbe8623de3e7ad27a3ff568d86892697430cc7ff689c74709856ed6

Input schema sha256:f063080da5b0e18188f2ff460a1ad27239f3f9c5e16a0ce2ab68000d6af9d487 · Output schema sha256:032879b320a62a7f2d82d7119a81a838343abbbd576270aa73bb0d06c83fa050 · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write (published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.

Build & scope

Engine identity and declared limitations.

Tool
discrete-fourier-transform
Engine
discrete-fourier-transform
Engine build
2026-09-20
Evidence core
2026-09-20T07:48:45.138Z
Rendered
2026-09-20T09:07:29.783Z
Last reviewed

Assumptions

  • Direct O(N²) DFT/IDFT; radix-2 FFT/IFFT
  • Numpy backward normalization
  • N ≤ 64; FFT N = 2^k
  • Not Laplace / Z
  • Not CAS

Limitations

  • Direct O(N²) DFT/IDFT, N≤64; radix-2 FFT/IFFT, N=2^k ≤64
  • Numpy backward: unnormalized forward, 1/N inverse
  • FFT agrees with DFT for power-of-2 N (Float64)
  • Not Laplace / Z — other canonicals
  • Not CAS
  • unknown mode (including laplace, cas) → INVALID_MODE

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Published checks

Golden, boundary, and property cases included in this evidence build.

IDKindStatusDetail
golden-dft-impulsegoldenpassExpected n=4 · algorithm=direct · normalization=backward · Actual n=4 · mode=dft · algorithm=direct · normalization=backward · formula=X[k] = Σ_n x[n] e^{−2πi kn/N}
golden-dft-dcgoldenpassExpected n=4 · Actual n=4 · mode=dft · algorithm=direct · normalization=backward · formula=X[k] = Σ_n x[n] e^{−2πi kn/N}
golden-idft-dcgoldenpassExpected n=4 · Actual n=4 · mode=idft · algorithm=direct · normalization=backward · formula=x[n] = (1/N) Σ_k X[k] e^{2πi kn/N}
boundary-dft-modeboundarypassExpected INVALID_MODE · Actual INVALID_MODE
golden-fft-impulsegoldenpassExpected n=4 · algorithm=radix2 · normalization=backward · Actual n=4 · mode=fft · algorithm=radix2 · normalization=backward · formula=X[k] = Σ_n x[n] e^{−2πi kn/N}
golden-fft-dcgoldenpassExpected n=4 · algorithm=radix2 · Actual n=4 · mode=fft · algorithm=radix2 · normalization=backward · formula=X[k] = Σ_n x[n] e^{−2πi kn/N}
golden-ifft-dcgoldenpassExpected n=4 · algorithm=radix2 · Actual n=4 · mode=ifft · algorithm=radix2 · normalization=backward · formula=x[n] = (1/N) Σ_k X[k] e^{2πi kn/N}
boundary-fft-n3boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-dft-n65boundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
property-dft-impulsepropertypassimpulse → ones
property-dft-dcpropertypassDC → N at bin 0
property-idft-dcpropertypassIDFT DC → ones
property-dft-roundtrippropertypassIDFT(DFT(impulse))
property-fft-impulsepropertypassFFT impulse → ones
property-fft-dcpropertypassFFT DC → N at bin 0
property-fft-matches-dftpropertypassFFT = DFT for N=8
property-fft-roundtrippropertypassIFFT(FFT(impulse))