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
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