Inverse DFT Calculator
Compute the inverse DFT with 1/N normalization for real or complex sequences up to 64 samples. Inspect all samples, share inputs and export complete results.
Enter values to calculate.
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes
- Input interpretation
- Enter values to calculate.
- Result
- —
- Verified scope
- all published modes
- Assurance
- Core
- Declared partition coverage
- PASS · 7/7 declared partitions (scaled-components, numerical-range, dft, idft, fft, ifft, invalid-domain) · Matrix
- Known limitations
- Core CVP does not include live graph, viewport, or pointer interaction.
- Model
- Numpy-backward inverse DFT of a length-N sequence, N≤64, with an engine-linked stem figure of |x[n]|.
- Scope
- Mode locked to idft
- Verification
- Engine tested · Source checked · v1.2.3 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
- Versions
- Calculation 1.2.3 · CVP protocol 1.0.0-proposed · Evidence 2026-10-28.metric-scope-v3
- Verification revision
- 2026-10-28.metric-scope-v3 · 1/1 property · digest 260dbe79dcfc
- Legacy regression
- 17/17 tests · Production surface contract 6/6
- Trust layers
- Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
- Reference
- O1 model · O2 expected_values · O2 expected_values · O2 numerical_behavior
- Interfaces
- PASS · UI (SSR) / REST / MCP
- Supplemental domain review
- Not performed
- Named expert review
- Not performed
- CVP suite
- 145/145 golden · 3/3 CVP boundary · 14/14 invalid · 1/1 property · 2/2 metamorphic · 7/7 cross-interface · 6/6 CVP contract · Manifest
- Evidence
- 6 legacy golden · 3 legacy boundary · legacy regression suite · 145/145 oracle-backed golden · 14/14 invalid · Artifact integrity PASS
- Semantic contract
- PASS
Full verification
Formulas
Core equations used by this calculator.
How to use
Enter X[k] as samples
Real list, optional im of the same length. N must be 1–64. Default 4,0,0,0.
Read x[n]
DC spectrum 4,0,0,0 inverts to 1,1,1,1. Round-trip with /dft recovers the sequence. The stem figure shows |x[n]| with the marker at n=0.
Example calculations
Common configurations with formula and result.
Inverse DC
samples = 4,0,0,0
Inverse all-ones
samples = 1,1,1,1
Inverse DFT calculator specification
Version 1.2.3 · Engine tested
- Engine tested 17/17 tests · Production surface contract 6/6
- Named expert review Not performed
- Calculation version 1.2.3
- Definition
- The Numpy-backward inverse DFT is x[n]=(1/N) Σ_k X[k] e^{2πi kn/N}. This page is mode=idft on math.transform.dft. Direct O(N²), N≤64. Forward DFT lives on the sibling discovery URL. Not FFT. Not Laplace. Not CAS.
- What it calculates
- Numpy-backward inverse DFT of a length-N sequence, N≤64, with an engine-linked stem figure of |x[n]|.
- Inputs
- samples
- im?
- Outputs
- n
- re
- im
- mag
- Formula
x[n] = (1/N) Σ_k X[k] e^{2πi kn/N}- Assumptions
- Mode locked to idft
- Direct O(N²), N≤64, Numpy backward 1/N
- The Result Card includes an engine-linked stem figure of |x[n]| (marker is n=0 / published x[0]). Same mag as REST/MCP.
- Not this page's FFT — radix-2 is on /fft
- Not Laplace, not CAS
- Units
- dimensionless
- Boundary conditions
- empty samples → INVALID_INPUT
- N > 64 → INVALID_INPUT
- unknown mode → INVALID_MODE
- Example
- samples=4,0,0,0 → x=[1,1,1,1]
- Validation cases
2 published on this page · 17/17 tests · Production surface contract 6/6 · View evidence
- samples=4,0,0,0 → re=[1,1,1,1]
- mode=laplace → INVALID_MODE
- Sources
- ISO 80000-2:2019 Quantities and units — MathematicsSupports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
- NumPy — Discrete Fourier TransformSupports: DFT and inverse-DFT definitions, frequency ordering, and backward normalization; does not establish this implementation’s accuracy.
- ISO 80000-2:2019 Quantities and units — Mathematics
- Calculation version
- 1.2.3
Background
Interpretation and common distinctions.
What does this inverse dft calculator compute?
The Numpy-backward inverse DFT is x[n]=(1/N) Σ_k X[k] e^{2πi kn/N}.
The published formula or method is x[n] = (1/N) Σ_k X[k] e^{2πi kn/N}. The following references support the stated mathematics or method:
- NumPy — Discrete Fourier Transform: DFT and inverse-DFT definitions, frequency ordering, and backward normalization; does not establish this implementation’s accuracy.
Which inputs and limits should you check?
Retain the full complex sequence and distinguish the unnormalized forward transform from the 1/N inverse normalization. FFT presets also impose the stated sequence-length restrictions.
The worked example uses samples = 4,0,0,0 with x = [1, 1, 1, 1]. Compare it with the Example calculations and the complete result for the same inputs.
How can you verify and cite this result?
CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.transform.dft v1.2.3 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.
Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.
Numerical precision and input policy
Use 1–64 finite binary64 samples; FFT/IFFT require a power-of-two length. Decimal scalar, CSV/JSON sequence, real array, [re, im] pairs, and objects with re/im are supported. Optional im must have the same length. Supplied samples/x/re, mode/method, and embedded/separate imaginary components must agree; malformed lists, empty required values and unknown fields are rejected. Locked entry presets choose their displayed mode.
Forward transforms are unnormalized; inverse transforms divide by N. Exact dyadic sums and products of binary64 samples and binary64 twiddle approximations avoid intermediate overflow and preserve cancellation in these operations. Cardinal roots of unity are exact. Other trigonometric factors remain approximate: this is a floating-point transform, not an exact symbolic transform. Input echoes preserve binary64 precision; output components and magnitudes publish 12 significant digits.
The independent listed-fixture comparison uses component relative 1e-8 plus spectrum-peak absolute 1e-12, allowing four smallest subnormal ulps. This is a verification budget, not a per-input error bound. Relative accuracy can weaken near zero bins or cancellation, even though the transform has good normwise conditioning. Nonzero decimal input that converts to zero returns NUMERIC_UNDERFLOW. A nonzero evaluated output component that rounds to zero, or a nonfinite output/magnitude, returns NUMERICAL_RANGE_ERROR; roundoff near a mathematical zero can also trigger this refusal at extreme scales.
The stem plot shows magnitudes by discrete bin/sample index, with index 0 highlighted. It is not a physical-frequency spectrum or phase plot. Bins too small relative to the peak can be visually indistinguishable from zero; the complete numeric sequence and exports retain their published values.
Ordinary calculations run locally. A shared URL sends inputs to the server and may appear in server logs; browser history may store results on this device. REST/MCP requests send inputs to the service. No zero-log, retention-period or processing-region guarantee is implied. Shared version labels identify the requested calculation; they do not provide an archived browser engine.
Related tools
Other calculators in this family: DFT Calculator, Discrete Fourier Transform Calculator, FFT Calculator, Inverse FFT Calculator, Inverse Laplace Calculator, Inverse Z Calculator, Laplace Transform Calculator, Z Transform Calculator . Explore all Transforms.
Frequently asked questions
Key distinctions behind the calculation.
Is this a second DFT engine?
No. It is mode=idft on math.transform.dft, the same engine as /calc/math/discrete-fourier-transform.
Why 1/N here?
Numpy backward puts the 1/N scale on the inverse. The forward DFT on /dft is unnormalized.
Where does this run?
Locally in the browser by default. REST and MCP call the same discrete-fourier-transform engine.