13

9

13

8

# ToeplitzMatrices.jl

Fast matrix multiplication and division for Toeplitz and Hankel matrices in Julia

## ToeplitzMatrix

A Toeplitz matrix has constant diagonals. It can be constructed using

``````Toeplitz(vc,vr)
``````

where `vc` are the entries in the first column and `vr` are the entries in the first row, where `vc` must equal `vr`. For example.

``````Toeplitz([1.,2.,3.],[1.,4.,5.])
``````

is a sparse representation of the matrix

``````[ 1.0  4.0  5.0
2.0  1.0  4.0
3.0  2.0  1.0 ]
``````

## TriangularToeplitz

A triangular Toeplitz matrix can be constructed using

``````TriangularToeplitz(ve,uplo)
``````

where uplo is either `:L` or `:U` and `ve` are the rows or columns, respectively. For example,

`````` TriangularToeplitz([1.,2.,3.],:L)
``````

is a sparse representation of the matrix

`````` [ 1.0  0.0  0.0
2.0  1.0  0.0
3.0  2.0  1.0 ]
``````

# Hankel

A Hankel matrix has constant anti-diagonals. It can be constructed using

`````` Hankel(vc,vr)
``````

where `vc` are the entries in the first column and `vr` are the entries in the last row, where `vc[end]` must equal `vr`. For example.

`````` Hankel([1.,2.,3.],[3.,4.,5.])
``````

is a sparse representation of the matrix

`````` [  1.0  2.0  3.0
2.0  3.0  4.0
3.0  4.0  5.0 ]
``````

# Circulant

A circulant matrix is a special case of a Toeplitz matrix with periodic end conditions. It can be constructed using

`````` Circulant(vc)
``````

where `vc` is a vector with the entries for the first column. For example:

`````` Circulant(1:3)
``````

is a sparse representation of the matrix

`````` [  1.0  3.0  2.0
2.0  1.0  3.0
3.0  2.0  1.0 ]
``````

09/17/2013

5 months ago

61 commits