In linear algebra, a Toeplitz matrix or diagonal-constant matrix, named after Otto Toeplitz, is a matrix in which each descending diagonal from left to right is constant. For instance, the following matrix is a Toeplitz matrix:
\begin{bmatrix} a&b&c&d&e\\ f&a&b&c&d\\ g&f&a&b&c\\ h&g&f&a&b\\ i&h&g&f&a\end{bmatrix}.
Any
n x n
A
A=\begin{bmatrix} a0&a-1&a-2& … & … &a-(n-1)\\ a1&a0&a-1&\ddots&&\vdots\\ a2&a1&\ddots&\ddots&\ddots&\vdots\ \vdots&\ddots&\ddots&\ddots&a-1&a-2\\ \vdots&&\ddots&a1&a0&a-1\\ an-1& … & … &a2&a1&a0 \end{bmatrix}
is a Toeplitz matrix. If the
i,j
A
Ai,j
Ai,j=Ai+1,j+1=ai-j.
A Toeplitz matrix is not necessarily square.
A matrix equation of the form
Ax=b
is called a Toeplitz system if
A
A
n x n
2n-1
n2
Toeplitz systems can be solved by algorithms such as the Schur algorithm or the Levinson algorithm in
O(n2)
O(n2)
A Toeplitz matrix can also be decomposed (i.e. factored) in O(n2)
n x n
A
Ai,j=ci-j
c1-n,\ldots,cn-1
n x n
n x n
O(n)
O(n2)
1 | |
a0 |
A=GG\operatorname{T}-(G-I)(G-I)\operatorname{T}
where
G
1 | |
a0 |
A
A-1=
1 | |
\alpha0 |
(BB\operatorname{T}-CC\operatorname{T})
where
B
C
C
The convolution operation can be constructed as a matrix multiplication, where one of the inputs is converted into a Toeplitz matrix. For example, the convolution of
h
x
y=h\astx= \begin{bmatrix} h1&0& … &0&0\\ h2&h1&&\vdots&\vdots\\ h3&h2& … &0&0\\ \vdots&h3& … &h1&0\\ hm-1&\vdots&\ddots&h2&h1\\ hm&hm-1&&\vdots&h2\\ 0&hm&\ddots&hm-2&\vdots\\ 0&0& … &hm-1&hm-2\\ \vdots&\vdots&&hm&hm-1\\ 0&0&0& … &hm \end{bmatrix} \begin{bmatrix} x1\\ x2\\ x3\\ \vdots\\ xn \end{bmatrix}
yT= \begin{bmatrix} h1&h2&h3& … &hm-1&hm \end{bmatrix} \begin{bmatrix} x1&x2&x3& … &xn&0&0&0& … &0\\ 0&x1&x2&x3& … &xn&0&0& … &0\\ 0&0&x1&x2&x3&\ldots&xn&0& … &0\\ \vdots&&\vdots&\vdots&\vdots&&\vdots&\vdots&&\vdots\\ 0& … &0&0&x1& … &xn-2&xn-1&xn&0\\ 0& … &0&0&0&x1& … &xn-2&xn-1&xn \end{bmatrix}.
This approach can be extended to compute autocorrelation, cross-correlation, moving average etc.
See main article: Toeplitz operator. A bi-infinite Toeplitz matrix (i.e. entries indexed by
Z x Z
A
\ell2
A=\begin{bmatrix} &\vdots&\vdots&\vdots&\vdots\\ … &a0&a-1&a-2&a-3& … \\ … &a1&a0&a-1&a-2& … \\ … &a2&a1&a0&a-1& … \\ … &a3&a2&a1&a0& … \\ &\vdots&\vdots&\vdots&\vdots \end{bmatrix}.
The induced operator is bounded if and only if the coefficients of the Toeplitz matrix
A
f
In such cases,
f
A
A
Linfty
ai=ai+n