2
votes

I want to create a symmetric matrix with complex elements in Matlab using the toeplitz command. However if I provide the toeplitz command with complex entries it returns a Hermitian matrix, that is, the signs of the imaginary parts are reversed above and below the diagonal.

matrix = toeplitz([ 1 + 1i, 2 + 2i])

matrix =

   1.0000 + 1.0000i   2.0000 + 2.0000i
   2.0000 - 2.0000i   1.0000 + 1.0000i

How can I create a symmetric matrix where the signs of the imaginary parts are the same above and below the diagonal like this:

matrix =

   1.0000 + 1.0000i   2.0000 + 2.0000i
   2.0000 + 2.0000i   1.0000 + 1.0000i
1

1 Answers

2
votes

The easiest would be to pass your input two times to toeplitz, because you actually want to create an unsymmetric toeplitz matrix, where the unsymmetric part is the conjugate complex of the naturally conjugate complex part of the Toeplitz matrix:

X = [ 1 + 1i, 2 + 2i, 3 + 3i]
matrix = toeplitz( X, X )

matrix =

   1.0000 + 1.0000i   2.0000 + 2.0000i   3.0000 + 3.0000i
   2.0000 + 2.0000i   1.0000 + 1.0000i   2.0000 + 2.0000i
   3.0000 + 3.0000i   2.0000 + 2.0000i   1.0000 + 1.0000i