Next Page Contents

transform::fourier, transform::invfourier -- Fourier and inverse Fourier transform

Introduction

transform::fourier(f, t, s) computes the Fourier transform int(f*exp(I*s*t), t=-infinity..infinity) of the expression f = f(t) with respect to the variable t at the point s.

transform::invfourier(F, S, T) computes the inverse Fourier transform 1/2/PI* int(F*exp(-I*S*T), S=-infinity..infinity) of the expression F = F(S) with respect to the variable S at the point T.

Call(s)

transform::fourier(f, t, s)
transform::invfourier(F, S, T)

Parameters

f, F - arithmetical expressions
t, S - identifiers (the transformation variables)
s, T - arithmetical expressions (the evaluation points)

Returns

an arithmetical expression

Overloadable:

f, F

Related Functions

numeric::fft, numeric::invfft

Details

Example 1

The following call produces the Fourier transform as an expression in the variable s:

>> transform::fourier(exp(-t^2), t, s)
                                      /    2 \
                               1/2    |   s  |
                             PI    exp| - -- |
                                      \   4  /
>> transform::invfourier(%, s, t)
                                        2
                                 exp(- t )

Note that the Fourier transform can be evaluated directly at a specific point such as s = 2*a or s = 5:

>> transform::fourier(t*exp(-a*t^2), t, s),
   transform::fourier(t*exp(-a*t^2), t, 2*a),
   transform::fourier(t*exp(-a*t^2), t, 2)
                       /    2  \
                1/2    |   s   |                       1/2    /   1 \
      1/2 I s PI    exp| - --- |      1/2          I PI    exp| - - |
                       \   4 a /  I PI    exp(-a)             \   a /
      --------------------------, ---------------, ------------------
                  3/2                   1/2                3/2
                 a                     a                  a

Example 2

An unevaluated call is returned, if no explicit representation of the transform is found:

>> transform::fourier(besselJ(0, 1/(1 + t^2)), t, s)
                               /        /      1    \       \
             transform::fourier| besselJ| 0, ------ |, t, s |
                               |        |     2     |       |
                               \        \    t  + 1 /       /
>> transform::invfourier(%, s, t)
                                  /      1    \
                           besselJ| 0, ------ |
                                  |     2     |
                                  \    t  + 1 /

Note that the inverse transform is related to the direct transform:

>> transform::invfourier(unknown(s), s, t)
                   transform::fourier(unknown(s), s, -t)
                   -------------------------------------
                                   2 PI

Example 3

The distribution dirac is handled:

>> transform::fourier(t^3, t, s)
                            2 I PI dirac(s, 3)
>> transform::invfourier(%, s, t)
                                     3
                                    t
>> transform::fourier(heaviside(t - t0), t, s)
                                  /               I \
                      exp(I s t0) | PI dirac(s) + - |
                                  \               s /

Example 4

The Fourier transform of a function is related to the Fourier transform of its derivative:

>> transform::fourier(diff(f(t), t), t, s)
                    -I s transform::fourier(f(t), t, s)

Background

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000