inttrans[hilbert] - Hilbert transform
inttrans[invhilbert] - inverse Hilbert transform
|
Calling Sequence
|
|
hilbert(expr, t, s)
invhilbert(expr, t, s)
|
|
Parameters
|
|
expr
|
-
|
expression, equation, or set of expressions and/or equations to be transformed
|
t
|
-
|
variable expr is transformed with respect to t
|
s
|
-
|
parameter of transform
|
opt
|
-
|
option to run this under (optional)
|
|
|
|
|
Description
|
|
•
|
The hilbert function performs a Hilbert transform, a linear transformation from defined by the Principal Value integral:
|
•
|
Expressions involving exponentials, rational polynomials, trigonometrics (sin, cos) with linear arguments, and a variety of other functions can be transformed.
|
•
|
The hilbert function can transform derivatives (diff or Diff) of functions and differential equations, and can be used to simplify some classes of ODEs and PDEs. It is often used in conjunction with the fourier transform.
|
|
Note: invhilbert(f(t), t, s) = -hilbert(f(t), t, s), that is, the inverse Hilbert transform of a function is the negative of the Hilbert transform of that function.
|
|
Note: The Hilbert transform is defined by the Cauchy Principal Value integral described above, so the transform of some classes of functions is zero--most notably the constant function, and any rational function in which the degree of the numerator is less than or equal to the degree of the denominator, and the denominator contains only real simple roots. See the first four examples below.
|
•
|
The hilbert function attempts to simplify an expression according to a set of heuristics and then match the result with a table of patterns. Entries can be added to this table by addtable(hilbert, f(t), F(s), t, s), where F(s) is the transform of f(t), which may have an arbitrary number of parameters.
|
•
|
hilbert recognizes the Dirac-delta (or unit-impulse) function as Dirac(t) and Heaviside's unit step function as Heaviside(t).
|
•
|
If the option opt is set to 'NO_INT', then the program will not resort to integration of the original problem if all other methods fail. This will increase the speed at which the transform will run.
|
•
|
The command with(inttrans,hilbert) allows the use of the abbreviated form of this command.
|
|
|
Examples
|
|
>
|
|
Note that the transforms of constant functions, and rational functions that have numerator degree less than or equal to denominator degree and denominators with real simple roots, are zero.
>
|
|
| (1) |
>
|
|
| (2) |
Also note that expressions in which the denominator has non-simple real roots cannot be transformed.
>
|
|
| (3) |
In the case that the denominator roots are complex, there is a nonzero (purely imaginary) transform.
>
|
|
| (4) |
Other examples:
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
>
|
|
| (12) |
>
|
|
| (13) |
>
|
|
| (14) |
Add an entry to the table
>
|
|
>
|
|
| (15) |
|
|