Represents a matrix, a two-dimensional array of real numbers.

Namespace: Extreme.Mathematics.LinearAlgebra.Complex
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public MustInherit Class ComplexMatrix _
	Inherits ComplexLinearTransformation _
	Implements IFormattable
C#
public abstract class ComplexMatrix : ComplexLinearTransformation, IFormattable
C++
public ref class ComplexMatrix abstract : public ComplexLinearTransformation, IFormattable

Methods

IconTypeDescription
static memberAdd(ComplexMatrix, ComplexMatrix)
Adds two ComplexMatrix objects.
Add(TransposeOperation, TransposeOperation, DoubleComplex, ComplexMatrix)
Adds a multiple of a ComplexMatrix to this ComplexMatrix and returns the result.
static memberAddition(ComplexMatrix, ComplexMatrix)
Adds two ComplexMatrix objects.
AddProductToVector(DoubleComplex, ComplexVector, TransposeOperation, DoubleComplex, ComplexGeneralVector)
Multiplies a ComplexVector by this ComplexMatrix and stores the result in a second vector of type ComplexGeneralVector.
Clone()
Constructs a deep copy of this ComplexMatrix.
CloneData()
Gives this instance its own copy of its elements.
Conjugate()
Returns the conjugate transpose of this instance.
ConjugateTranspose()
Returns the conjugate transpose of this instance.
CopyTo(ComplexMatrix)
Copies the components of this ComplexMatrix to another matrix.
static memberEquality(ComplexMatrix, ComplexMatrix)
Returns a value indicating whether two instances of ComplexMatrix are equal.
Equals(Object)
Determines whether the specified Object is equal to the current ComplexMatrix.
EstimateConditionNumber()
Calculates an estimate for the condition number of this ComplexMatrix.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
FrobeniusNorm()
Returns the Frobenius norm of this ComplexMatrix.
GetColumn(Int32)
Returns a column ComplexVector for this instance that points at the specified column.
GetColumn(Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32, Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32, Range)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumnEnumerator()
Gets an IEnumerator than can be used to enumerate the columns of this ComplexMatrix.
GetComponents()
Gets the components of the ComplexVector.
GetComponents(MatrixElementOrder)
Gets the components of the ComplexVector.
GetDeterminant()
Calculates the determinant of this ComplexMatrix.
GetDiagonal()
Gets a ComplexVector view of the diagonal elements of this instance.
GetDiagonal(Int32)
Gets a ComplexVector view of the specified diagonal of this instance.
GetHashCode()
Returns the hash code for this instance.
GetImaginaryPart()
Returns a real matrix containing the imaginary components of the matrix.
GetInverse()
Calculates the inverse of this ComplexMatrix.
GetObjectData(SerializationInfo, StreamingContext)
Populates a SerializationInfo with the data needed to serialize the target object.
GetRealPart()
Returns a real matrix containing the real components of the matrix.
GetRow(Int32)
Returns a row ComplexVector for this instance that points at the specified row.
GetRow(Int32, Int32, Int32)
Returns a row ComplexVector for this instance over the specified range.
GetRow(Int32, Range)
Returns a row ComplexVector for this instance starting at the specified row and column and of the specified length.
GetRow(Int32, Int32, Int32, Int32)
Returns a row ComplexVector for this instance starting at the specified row and column and of the specified length.
GetRowEnumerator()
Returns an IEnumerator instance that allows you to enumerate the rows of this ComplexMatrix.
GetSubmatrix(Range, Range, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Range, Range)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32, Int32, Int32, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetType()
Gets the Type of the current instance.
GetValue(Int32, Int32)
Gets the matrix component at the specified position.
static memberInequality(ComplexMatrix, ComplexMatrix)
Returns a value indicating whether two instances of ComplexMatrix are not equal.
InfinityNorm()
Returns the infinity norm of this ComplexMatrix.
IsComponentWritable(Int32, Int32)
Returns a value that indicates whether the value of the component at the specified row and column can be changed.
IsSingular()
Gets a value indicating whether this matrix is singular.
MemberwiseClone()
Creates a shallow copy of the current Object.
Multiply(MatrixOperationSide, TransposeOperation, TransposeOperation, ComplexMatrix)
Multiplies this ComplexMatrix by another matrix and returns the result.
static memberMultiply(ComplexMatrix, ComplexMatrix)
Multiplies two ComplexMatrix objects.
static memberMultiply(ComplexMatrix, ComplexVector)
Multiplies a ComplexVector by a ComplexMatrix.
static memberMultiply(ComplexVector, ComplexMatrix)
Multiplies a ComplexVector by a ComplexMatrix.
static memberMultiply(ComplexVector, ComplexMatrix)
Multiplies a ComplexVector by a ComplexMatrix.
static memberMultiply(ComplexMatrix, ComplexMatrix)
Multiplies two ComplexMatrix objects.
static memberMultiply(ComplexMatrix, ComplexVector)
Multiplies a ComplexVector by a ComplexMatrix.
OneNorm()
Returns the 1-norm of this ComplexMatrix.
Rank(Double)
Returns the numerical rank of a matrix using the specified tolerance.
SetValue(DoubleComplex, Int32, Int32)
Sets the matrix component at the specified position to the specified value.
ShallowCopy()
Makes a shallow copy of this ComplexMatrix.
Solve(ComplexGeneralVector, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexVector.
Solve(ComplexGeneralMatrix, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexGeneralMatrix and overwrites the right-hand side with the solution.
Solve(ComplexVector)
Solves the system of linear equations for the specified right-hand side ComplexVector.
Solve(ComplexMatrix)
Solves the system of linear equations for the specified right-hand side ComplexMatrix.
static memberSubtract(ComplexMatrix, ComplexMatrix)
Subtracts two ComplexMatrix objects.
static memberSubtraction(ComplexMatrix, ComplexMatrix)
Subtracts two ComplexMatrix objects.
ToGeneralMatrix()
Makes a copy of this instance and returns it as a ComplexGeneralMatrix.
ToString()
Returns a String representation of this ComplexMatrix.
ToString(String)
Returns a String representation of this ComplexMatrix.
ToString(String, IFormatProvider)
Returns a String representation of this ComplexMatrix.
Trace()
Gets the sum of the diagonal elements of this ComplexMatrix.
Transpose()
Returns the transpose of this instance.

Constructors

IconTypeDescription
ComplexMatrixNew(Int32, Int32)
Constructs a new ComplexMatrix of the specified dimensions using the specified data array.
ComplexMatrixNew(SerializationInfo, StreamingContext)
Constructs a new ComplexMatrix from serialization data.

Properties

IconTypeDescription
ColumnCount
Gets the number of columns in the ComplexMatrix.
Columns
Gets the ComplexColumnCollection for this instance.
ElementOrder
Gets a value indicating the order in which the matrix elements are stored.
Item(Int32, Int32)
Gets or sets the specified element in this ComplexMatrix.
Item(Int32, Range)
Gets or sets the components of a row of this ComplexMatrix.
Item(Range, Range)
Gets or sets the components of a submatrix of this ComplexMatrix.
Item(Range, Int32)
Gets or sets the components of a column of this ComplexMatrix.
RowCount
Gets the number of rows in the ComplexMatrix.
Rows
Gets the ComplexRowCollection for this instance.

Remarks

ComplexMatrix is the abstract base class for representing real matrices, two-dimensional arrays of double-precision floating-point numbers. An application can perform operations on matrices using instances of the ComplexMatrix class, while descendant classes implement specialized algorithms for specific types of matrices.

The ComplexMatrix class provides methods and properties for all the common operations on matrices, including arithmetic operations, calculating norms and solving systems of simultaneous linear equations. Various methods allow you to access individual components as well as rows and columns and submatrices.

Since ComplexMatrix is an abstract base class and cannot be instantiated directly. Instead, use one of its derived classes. These are:
ClassDescription
ComplexGeneralMatrixRepresents a general, dense, square or rectangular matrix.
ComplexTriangularMatrixRepresents an upper or lower-triangular matrix, a matrix whose elements below or above the main diagonal are zero.
ComplexHermitianMatrixRepresents a square matrix whose elements are symmetrical around the main diagonal.

Note that the specialized classes exploit certain structural properties to perform many calculations more quickly than the general algorithms implemented by ComplexMatrix.

ComplexMatrix provides an indexer property. For convenient access to the rows or columns of a ComplexMatrix or parts thereof, use the GetRow(Int32) and GetColumn(Int32) methods.

Overloaded versions of the major arithmetic operators are provided for languages that support them. For languages that don't support operator overloading, equivalent staticSharedstatic methods are supplied.

Many matrix decompositions exist, serving a variety of purposes. Each of them has its own class. In this release the ComplexLUDecomposition and the ComplexQRDecomposition are supported. For positive-definite ComplexHermitianMatrix, the ComplexCholeskyDecomposition is available.

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.LinearAlgebra.Complex.ComplexLinearTransformation
    Extreme.Mathematics.LinearAlgebra.Complex.ComplexMatrix

See Also