# Complex Linear Algebra

All the vector and matrix classes support real and complex element types. This section discusses some classes specific to complex linear algebra.

## Operations Specific to Complex Vectors and Matrices

The complex dot product uses the conjugate of the first argument, so the dot product of a complex vector with itself is always a real number.

## Complex Vector and Matrix Classes

The ComposedComplexVector<T> class represents a complex vector where the real and imaginary components are stored as separate vectors. This type permits the efficient representation of real vectors as complex ones. For example, because the singular values of a complex matrix are real, the SingularValues property of a complex SVD returns a ComposedComplexVector<T> where the imaginary part is zero.

Likewise, the ComposedComplexMatrix<T> class represents a complex matrix where the real and imaginary components are stored as separate matrices.

A *Hermitian* matrix is a square, complex matrix that is equal to
its conjugate transpose. Hermitian matrices are similar to real symmetric matrices.
They are discussed in more detail in the section on
Hermitian Matrices.