Extreme Optimization > User's Guide > Vector and Matrix Library > Complex Linear Algebra

Extreme Optimization User's Guide

User's Guide

Up: Vector and Matrix Library Next: Sparse Vectors and Matrices Previous: Solving Linear Systems and Related Operations Contents

Complex Linear Algebra

The Extreme.Mathematics.LinearAlgebra.Complex namespace contains classes that implement complex valued vectors and matrices. The class hierarchy is almost identical to that of real vectors and matrices. We only highlight the differences here.

Complex Vector Classes

The following table lists the complex equivalent of the real vector classes:

Double Vector Complex Vector
Vector  ComplexVector 
GeneralVector  ComplexGeneralVector 
ColumnVector  ComplexColumnVector 
RowVector  ComplexRowVector 
DiagonalVector  ComplexDiagonalVector 
BandVector  ComplexBandVector 
ConstantVector  ComplexConstantVector 
VectorView  ComplexVectorView 

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

Most of the classes for real matrices have an equivalent complex matrix class. Complex symmetric matrices are relatively uncommon. Much more common are hermitian matrices, whose components above the diagonal are the conjugate of the corresponding element below the diagonal. For this reason, there is no ComplexSymmetricMatrix class, but there is a new ComplexHermitianMatrix class that represents hermitian matrices.

Complex matrices have four additional methods. GetRealPart returns a real matrix with the real components of each matrix element. GetImaginaryPart returns a real matrix with the imaginary components of each matrix element. Conjugate returns a complex matrix whose components are the conjugate of the corresponding component in the original matrix. ConjugateTranspose returns a complex matrix whose components are the conjugate of the corresponding component in the transpose of the original matrix.

The following table lists the complex equivalent of the real matrix classes:

Double Matrix Complex Matrix
Matrix  ComplexMatrix 
GeneralMatrix  ComplexGeneralMatrix 
SymmetricMatrix  (No equivalent)
(No equivalent) ComplexHermitianMatrix 
TriangularMatrix  ComplexTriangularMatrix 
MatrixView  ComplexMatrixView 

There are some additional differences, mainly related to the ComplexHermitianMatrix class. You can only extract an upper triangular matrix from a Hermitian matrix if the Hermitian matrix' data is stored in the upper triangular part. Likewise, you can only extract a lower triangular matrix if the Hermitian matrix' data is stored in the lower triangular part.

For the same reason, the form of the complex Cholesky decomposition depends on how the data is stored. The TriangularFactor property of the ComplexCholeskyDecomposition class returns a ComplexTriangularMatrix  that is upper triangular if the Hermitian matrix' data is stored in the upper triangular part, and lower triangular if the Hermitian matrix' data is stored in the lower triangular part.

Up: Vector and Matrix Library Next: Sparse Vectors and Matrices Previous: Solving Linear Systems and Related Operations Contents

Overview
Introduction
Features
Documentation
QuickStart Samples
Sample Applications
Downloads
Get it now!
Download trial version
How to Buy
Information
Resources
Contact Us
Search

"The Extreme Optimization Statistics Library for .NET is a major boon for those doing statistical work in .NET. I strongly recommend this product."
- Marc Brooks

"I have made it my mission to institutionalize the value of good API design.  I strongly believe that this is key to making developers more productive and happy on our platform. It is clear that you value good API design in your work, and take to heart developer productivity and synergy with the .NET framework."
- Brad Abrams,
Lead Program Manager, Microsoft.

This is a partial list of companies who are using our libraries:
ABB Robotics
Allstate
Applied Materials
Arcam
Astra Schedule
Babson College
Canadian Council on Learning
Canyon Associates
Caxton Associates
CECity
Constellation Energy
CreditSights
DeepOcean
Duke University
Dynamotive
Elecsoft
Engelhard Corporation
Epcor
Equipoise Software
Galileo International
GAM UK
Gammex
GlaxoSmithKline
Global Matrix
The Hartford
Infinera Corporation
Intel
JDS Uniphase
LaBranche & Co.
Learning & Skills Council
Jacobs Consultancy
Litman Gregory
Lucas Systems
Malvern Instruments
Medrio
Merck & Co.
Mintera.
Monitor Software
MorningStar
NanoString Technologies
Paletta Invent
Parametric Portfolio Associates
Prosanos
RATA Associates
RiskShield
Ramboll
Standard & Poor's
Strategic Analysis Corporation
Univ. of Alicante
Univ. of South Carolina
vielife
Xerox
US Army