Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Language Reference

TOEPLITZ Function

generates a Toeplitz or block-Toeplitz matrix

TOEPLITZ( a)

where a is either a vector or a numeric matrix.

The TOEPLITZ function generates a Toeplitz matrix from a vector, or a block Toeplitz matrix from a matrix. A block Toeplitz matrix has the property that all matrices on the diagonals are the same. The argument a is an (np) ×p or p ×(np) matrix; the value returned is the (np) ×(np) result.

The TOEPLITZ function uses the first p ×p submatrix, A1, of the argument matrix as the blocks of the main diagonal. The second p ×p submatrix, A2, of the argument matrix forms one secondary diagonal, with the transpose A2' forming the other. The remaining diagonals are formed accordingly. If the first p ×p submatrix of the argument matrix is symmetric, the result is also symmetric. If A is (np) ×p, the first p columns of the returned matrix, R, will be the same as A. If A is p ×(np), the first p rows of R will be the same as A. The TOEPLITZ function is especially useful in time-series applications, where the covariance matrix of a set of variables with its lagged set of variables is often assumed to be a block Toeplitz matrix.

If
A = [ A_1|{A}_2|{A}_3| ... |{A}_n 
 ]
and if R is the matrix formed by the TOEPLITZ function, then
R = [ 
 A_1 & | & A_2 & | & 
 A_3 & | &  ...  & | & A_n \ A_2^' & | & A_1 & | & ...
 ... & & & & & \ A_n^' & | & A_{n-1}^' & | & 
 A_{n-2}^' & | &  ...  & | & A_1 
 ]
If
A = [ A_1 \A_2 \\vdots \A_n \ ]
and if R is the matrix formed by the TOEPLITZ function, then
R = [ 
 A_1 & | & A_2^' & | & 
 A_3^' & | &  ...  & | & A_n^' \ A_2 & | & A_1 & ...
 ...dots & & & & & & \ A_n & | & A_{n-1} & | & A_{n-2} & 
 | &  ...  & | & A_1 
 ]
Three examples follow.
    r=toeplitz(1:5);
             R             5 rows      5 cols    (numeric)

                   1         2         3         4         5
                   2         1         2         3         4
                   3         2         1         2         3
                   4         3         2         1         2
                   5         4         3         2         1


      r=toeplitz({1 2 ,
                  3 4 ,
                  5 6 ,
                  7 8});

                R             4 rows      4 cols    (numeric)

                           1         2         5         7
                           3         4         6         8
                           5         6         1         2
                           7         8         3         4


      r=toeplitz({1 2 3 4 ,
                  5 6 7 8});

                R             4 rows      4 cols    (numeric)

                           1         2         3         4
                           5         6         7         8
                           3         7         1         2
                           4         8         5         6

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.