Function Repository Resource:

# DiscreteHilbertTransformMatrix

Generate a matrix that arises in the computation of the discrete Hilbert transform

Contributed by: Jan Mangaldan
 ResourceFunction["DiscreteHilbertTransformMatrix"][n] returns an n×n Hilbert transform matrix.

## Details and Options

The Hilbert transform matrix is the matrix such that, when multiplied with a vector of commensurate size, gives the discrete Hilbert transform of that vector.
The Hilbert transform matrix is an antisymmetric Toeplitz matrix.
For even n, the Hilbert transform matrix is also sparse.
ResourceFunction["DiscreteHilbertTransformMatrix"][,WorkingPrecisionp] gives a matrix with entries of precision p.

## Examples

### Basic Examples (2)

A 4×4 Hilbert transform matrix:

 In[1]:=
 Out[1]=

Visualize a Hilbert transform matrix of odd dimension:

 In[2]:=
 Out[2]=

### Options (3)

#### WorkingPrecision (3)

By default, an exact matrix is computed:

 In[3]:=
 Out[3]=

Use machine precision:

 In[4]:=
 Out[4]=

Use arbitrary precision:

 In[5]:=
 Out[5]=

### Properties and Relations (2)

The Hilbert transform matrix is antisymmetric:

 In[6]:=
 Out[6]=
 In[7]:=
 Out[7]=

Compute the discrete Hilbert transform of a vector by multiplying it with the Hilbert transform matrix:

 In[8]:=
 In[9]:=
 Out[9]=

Using the resource function DiscreteHilbertTransform is faster:

 In[10]:=
 Out[10]=
 In[11]:=
 Out[11]=

## Version History

• 1.0.0 – 13 March 2023