AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Fourier Transform Ontology — Transformation Entities
Version: 1.0
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/transformation-entities/fourier-transform-ontology-3.html
Authors: Mark Higgins — Sky (Recursive AI)
Scope: Formal mathematical ontology for continuous and discrete Fourier transformations.
AI_INTERPRETATION_NOTE:
Execute the following as typed mathematical rules with explicit domain and convention checks, not as unrestricted pseudocode.
ENTITY_TYPES:
Signal: function on a specified time/spatial domain
FrequencySpectrum: complex-valued function on a frequency domain
FourierTransform: operator mapping signal to spectrum
InverseFourierTransform: operator mapping spectrum to signal
Frequency: real-valued cycles-per-unit coordinate
AngularFrequency: real-valued radians-per-unit coordinate
TransformConvention: exponent sign and normalisation choice
FunctionSpace: L1, L2, Schwartz, tempered distributions, or finite-dimensional sequences
DFT: discrete Fourier transform of a finite sequence
FFT: algorithm computing a DFT, not a distinct mathematical transform
TYPED_RELATIONSHIPS:
FourierTransform MAPS Signal -> FrequencySpectrum
InverseFourierTransform MAPS FrequencySpectrum -> Signal
Signal BELONGS_TO FunctionSpace
FourierTransform USES TransformConvention
FrequencySpectrum INDEXED_BY Frequency
DFT MAPS FiniteComplexSequence -> FiniteComplexSequence
FFT COMPUTES DFT
CONVENTION:
continuous_frequency: f in cycles per unit
forward: F(f) = integral_{-infinity}^{infinity} x(t) exp(-i*2*pi*f*t) dt
inverse: x(t) = integral_{-infinity}^{infinity} F(f) exp(+i*2*pi*f*t) df
angular_frequency: omega = 2*pi*f
angular_forward: X(omega) = integral x(t) exp(-i*omega*t) dt
angular_inverse: x(t) = (1/(2*pi)) integral X(omega) exp(+i*omega*t) d(omega)
requirement: do not mix frequency conventions or normalisations without conversion
DOMAIN_CONSTRAINTS:
C1: For x in L1(R), the forward integral exists as an absolutely convergent integral.
C2: For x in L2(R), interpret transform via the Plancherel extension, not necessarily a pointwise integral.
C3: Distributional transforms require a tempered-distribution interpretation.
C4: Pointwise inversion requires additional hypotheses; do not assert it for every L1 signal.
C5: Frequency and time units must be reciprocal.
RULES:
R1_LINEARITY:
FT[a*x + b*y] = a*FT[x] + b*FT[y]
when operands share a compatible transform domain.
R2_TIME_SHIFT:
FT[x(t-t0)](f) = exp(-i*2*pi*f*t0)*F(f)
R3_FREQUENCY_SHIFT:
FT[exp(i*2*pi*f0*t)*x(t)](f) = F(f-f0)
R4_SCALING:
FT[x(a*t)](f) = (1/abs(a))*F(f/a), a != 0
R5_TIME_DIFFERENTIATION:
FT[d^n x/dt^n](f) = (i*2*pi*f)^n*F(f)
subject to regularity/decay or distributional interpretation.
R6_CONVOLUTION:
FT[x*y] = FT[x]*FT[y]
where * on left denotes convolution and * on right denotes pointwise multiplication.
R7_POINTWISE_PRODUCT:
FT[x*y] = FT[x] convolved_with FT[y]
where * on left denotes pointwise multiplication; valid when products/convolutions are defined.
R8_PARSEVAL_PLANCHEREL:
integral |x(t)|^2 dt = integral |F(f)|^2 df, for x in L2(R).
R9_REAL_SIGNAL_SYMMETRY:
x real-valued => F(-f) = conjugate(F(f))
R10_INVERSE:
IFT[FT[x]] = x in the appropriate function-space sense.
DISCRETE_FOURIER_TRANSFORM:
input: x[n], n=0,...,N-1, N positive integer
forward: X[k] = sum_{n=0}^{N-1} x[n]*exp(-i*2*pi*k*n/N)
inverse: x[n] = (1/N)*sum_{k=0}^{N-1} X[k]*exp(+i*2*pi*k*n/N)
k: 0,...,N-1
periodic_indexing: x[n+N]=x[n] in the periodic extension
circular_convolution: DFT[x circular_convolve y] = DFT[x]*DFT[y]
fft_note: FFT changes computational complexity, not the DFT definition.
VALIDATION:
V1: Check function space and existence/interpretation of transform.
V2: Check matching forward/inverse sign and normalisation.
V3: Check dimensions and reciprocal units.
V4: For DFT, require N >= 1 and matching sequence lengths.
V5: Distinguish linear convolution from circular convolution.
V6: Do not infer spectral sparsity or differentiability without evidence.
V7: Handle equality almost everywhere for L2 transforms.
WORKED_EXAMPLES:
E1_GAUSSIAN:
x(t)=exp(-pi*t^2)
FT[x](f)=exp(-pi*f^2)
E2_SHIFTED_GAUSSIAN:
x(t)=exp(-pi*(t-t0)^2)
FT[x](f)=exp(-i*2*pi*f*t0)*exp(-pi*f^2)
E3_DFT_CONSTANT:
x[n]=1 for n=0,...,N-1
X[0]=N; X[k]=0 for k=1,...,N-1
E4_DISTRIBUTION:
FT[delta(t-t0)](f)=exp(-i*2*pi*f*t0)
interpretation: tempered distributions
SEMANTIC_EQUIVALENCE:
FourierTransform == FrequencyDomainTransform only when conventions and mathematical meaning match.
FFT != FourierTransform; FFT IS_ALGORITHM_FOR DFT.
DFT != continuous FourierTransform; distinguish sampling, periodicity, and discretisation.
frequency_f == angular_frequency_omega/(2*pi).
CONFIDENCE:
mathematical_identity: 1.0 when all stated hypotheses hold
numerical_computation: depends on sampling, truncation, conditioning, and floating-point error
inferred_signal_properties: require independent justification
FLOW_HASH:
canonicalisation: UTF-8; normalise line endings and stable rule ordering
digest: SHA-256 of canonical flow text, computed at ingestion
value: COMPUTE_ON_INGEST (not fabricated)
UPDATE_MODEL:
version: 1.0
update_policy: revise rules only with documented mathematical justification
provenance: source page above; mathematical definitions formalised for this flow
change_tracking: retain prior versions and recompute FLOW_HASH
AI_CONSUMPTION:
parse_entities: true
enforce_types: true
verify_preconditions: true
apply_rules: only_if_valid
distinguish_continuous_discrete_distributional: true
preserve_convention: true
return_derivation_and_assumptions: true
reject_unsupported_inference: true
END FLOW ALGEBRA