Namespaces

Types

Type ComplexMatrix

Namespace MathNet.Numerics.LinearAlgebra

Interfaces IMatrix<T>, ICloneable

Methods

Properties

Public instance methods

ComplexMatrix Add(Complex b)

Add a complex scalar to all elements of this complex matrix.
This method has the same effect as the overloaded + operator.
Parameters
return ComplexMatrix
Complex b The complex scalar.

ComplexMatrix Add(IMatrix<T> b)

Parameters
return ComplexMatrix
IMatrix<T> b

void AddInplace(IMatrix<T> b)

Parameters
IMatrix<T> b

void AddInplace(Complex b)

In place addition of a complex scalar to all elements of this complex matrix.
This method changes this matrix.
Parameters
Complex b The complex scalar.

ComplexMatrix ArrayDivide(IMatrix<T> b)

Parameters
return ComplexMatrix
IMatrix<T> b

void ArrayDivideInplace(IMatrix<T> b)

Parameters
IMatrix<T> b

ComplexMatrix ArrayMap(Converter<Complex, Complex> mapping)

Parameters
return ComplexMatrix
Converter<Complex, Complex> mapping

void ArrayMapInplace(Converter<Complex, Complex> mapping)

Parameters
Converter<Complex, Complex> mapping

ComplexMatrix ArrayMultiply(IMatrix<T> b)

Parameters
return ComplexMatrix
IMatrix<T> b

void ArrayMultiplyInplace(IMatrix<T> b)

Parameters
IMatrix<T> b

ComplexMatrix ArrayPower(Complex exponent)

Element-by-element raise to power, "ret = this .^ exponent".
Parameters
return ComplexMatrix
Complex exponent The exponent to raise to power to.

void ArrayPowerInplace(Complex exponent)

Inplace element-by-element raise to power, "this .^= exponent".
This method changes this matrix.
Parameters
Complex exponent The exponent to raise to power to.

ComplexMatrix Clone()

Returns a deep copy of this instance.
Parameters
return ComplexMatrix

ComplexMatrix Conjugate()

Conjugate this complex matrix.
Parameters
return ComplexMatrix

void ConjugateInplace()

In place conjugation of this complex matrix.
This method changes this matrix.

Complex[,] CopyToArray()

Copies the internal data structure to a 2-dimensional array.
Parameters
return Complex[,]

Complex[][] CopyToJaggedArray()

Copies the internal data structure to a jagged rectangular array.
Parameters
return Complex[][]

bool Equals(object obj)

Parameters
return bool
object obj

Complex[][] GetArray()

Returns the internal data structure array.
Parameters
return Complex[][]

ComplexVector GetColumnVector(int columnIndex)

Copies a specified column of this matrix to a new vector.
Parameters
return ComplexVector
int columnIndex

int GetHashCode()

Parameters
return int

ComplexMatrix GetMatrix(Int32[] r, Int32[] c)

Parameters
return ComplexMatrix
Int32[] r
Int32[] c

ComplexMatrix GetMatrix(int i0, int i1, Int32[] c)

Parameters
return ComplexMatrix
int i0
int i1
Int32[] c

ComplexMatrix GetMatrix(Int32[] r, int j0, int j1)

Parameters
return ComplexMatrix
Int32[] r
int j0
int j1

ComplexMatrix GetMatrix(int i0, int i1, int j0, int j1)

Gets a submatrix.
Parameters
return ComplexMatrix
int i0 First row index.
int i1 Last row index (inclusive).
int j0 First column index.
int j1 Last column index (inclusive).

ComplexVector GetRowVector(int rowIndex)

Copies a specified row of this matrix to a new vector.
Parameters
return ComplexVector
int rowIndex

Type GetType()

Parameters
return Type

ComplexMatrix HermitianTranspose()

Transpose this complex matrix. The elements conjugated by this method, see Transpose for non-conjugated transposing.
Parameters
return ComplexMatrix

void HermitianTransposeInplace()

Inplace transpose this square complex matrix. The elements are conjugated by this method, see Transpose for non-conjugated transposing.
This method changes this matrix. Only square matrices are supported.

ComplexMatrix Multiply(Complex b)

Scale this complex matrix with a complex scalar.
This method has the same effect as the overloaded * operator.
Parameters
return ComplexMatrix
Complex b The other complex scalar.

ComplexMatrix Multiply(IMatrix<T> b)

Parameters
return ComplexMatrix
IMatrix<T> b

void MultiplyInplace(Complex b)

Inplace scale this matrix by a complex scalar.
This method changes this matrix.
Parameters
Complex b The other complex scalar.

void MultiplyInplace(IMatrix<T> b)

Parameters
IMatrix<T> b

ComplexMatrix MultiplyLeftDiagonal(IVector<T> diagonal)

Parameters
return ComplexMatrix
IVector<T> diagonal

void MultiplyLeftDiagonalInplace(IVector<T> diagonal)

Parameters
IVector<T> diagonal

ComplexVector MultiplyRightColumn(IVector<T> b)

Parameters
return ComplexVector
IVector<T> b

ComplexMatrix MultiplyRightDiagonal(IVector<T> diagonal)

Parameters
return ComplexMatrix
IVector<T> diagonal

void MultiplyRightDiagonalInplace(IVector<T> diagonal)

Parameters
IVector<T> diagonal

ComplexMatrix Negate()

Negate this complex matrix.
Parameters
return ComplexMatrix

void NegateInplace()

In place negation of this complex matrix.
This method changes this matrix.

double Norm1()

One norm
Parameters
return double

void ResetComputations()

Reset various internal computations. Call this method after you made changes directly on the the internal double[][] data structure.

void SetColumnVector(IVector<T> columnVector, int columnIndex)

Parameters
IVector<T> columnVector
int columnIndex

void SetMatrix(Int32[] r, int j0, int j1, IMatrix<T> X)

Parameters
Int32[] r
int j0
int j1
IMatrix<T> X

void SetMatrix(Int32[] r, Int32[] c, IMatrix<T> X)

Parameters
Int32[] r
Int32[] c
IMatrix<T> X

void SetMatrix(int i0, int i1, int j0, int j1, IMatrix<T> X)

Parameters
int i0
int i1
int j0
int j1
IMatrix<T> X

void SetMatrix(int i0, int i1, Int32[] c, IMatrix<T> X)

Parameters
int i0
int i1
Int32[] c
IMatrix<T> X

void SetRowVector(IVector<T> rowVector, int rowIndex)

Parameters
IVector<T> rowVector
int rowIndex

ComplexMatrix Subtract(Complex b)

Subtract a complex scalar from all elements of this complex matrix.
This method has the same effect as the overloaded - operator.
Parameters
return ComplexMatrix
Complex b The complex scalar.

ComplexMatrix Subtract(IMatrix<T> b)

Parameters
return ComplexMatrix
IMatrix<T> b

void SubtractInplace(IMatrix<T> b)

Parameters
IMatrix<T> b

void SubtractInplace(Complex b)

In place subtraction of a complex scalar from all elements of this complex matrix.
This method changes this matrix.
Parameters
Complex b The complex scalar.

ComplexMatrix TensorMultiply(ComplexMatrix B)

Tensor Product (Kronecker) of this and another matrix.
Parameters
return ComplexMatrix
ComplexMatrix B The matrix to operate on.

string ToString()

Formats this matrix to a human-readable string
Parameters
return string

ComplexMatrix Transpose()

Transpose this complex matrix. The elements are not conjugated by this method, see HermitianTranspose for conjugated transposing.
Parameters
return ComplexMatrix

void TransposeInplace()

Inplace transpose this square complex matrix. The elements are not conjugated by this method, see HermitianTransposeInplace for conjugated transposing.
This method changes this matrix. Only square matrices are supported.

Public static methods

Complex[][] CloneMatrixData(Complex[][] data)

Parameters
return Complex[][]
Complex[][] data

ComplexMatrix Create(Complex[][] A)

Parameters
return ComplexMatrix
Complex[][] A

ComplexMatrix Create(Complex[,] A)

Parameters
return ComplexMatrix
Complex[,] A

ComplexMatrix Create(IMatrix<T> realMatrix)

Parameters
return ComplexMatrix
IMatrix<T> realMatrix

ComplexMatrix CreateFromColumns(IList<ComplexVector> columnVectors)

Parameters
return ComplexMatrix
IList<ComplexVector> columnVectors

ComplexMatrix CreateFromRows(IList<ComplexVector> rowVectors)

Parameters
return ComplexMatrix
IList<ComplexVector> rowVectors

Complex[][] CreateMatrixData(int m, int n)

Create the internal matrix data structure for a matrix of the given size. Initializing matrices directly on the internal structure may be faster than accessing the cells through the matrix class.
Parameters
return Complex[][]
int m Number of rows.
int n Number of columns.

ComplexMatrix Diagonal(IVector<T> diagonalVector, int m, int n)

Parameters
return ComplexMatrix
IVector<T> diagonalVector
int m
int n

ComplexMatrix Diagonal(IVector<T> diagonalVector)

Parameters
return ComplexMatrix
IVector<T> diagonalVector

void GetRowColumnCount(Complex[][] data, Int32& rows, Int32& columns)

Parameters
Complex[][] data
Int32& rows
Int32& columns

ComplexMatrix Identity(int m, int n)

Generates the identity matrix.
Parameters
return ComplexMatrix
int m Number of rows.
int n Number of columns.

ComplexMatrix KroneckerProduct(ComplexMatrix A, ComplexMatrix B)

Kronecker Product of two matrices.
Parameters
return ComplexMatrix
ComplexMatrix A
ComplexMatrix B

ComplexMatrix Ones(int m)

Generates an m-by-m matrix filled with 1.
Parameters
return ComplexMatrix
int m Number of rows = Number of columns

ComplexMatrix Random(int m, int n, IContinuousGenerator randomDistribution)

Generates matrix with random real and imaginary elements.
Parameters
return ComplexMatrix
int m Number of rows.
int n Number of columns.
IContinuousGenerator randomDistribution Continuous Random Distribution or Source

ComplexMatrix RandomPolar(int m, int n, IContinuousGenerator modulusRandomDistribution, IContinuousGenerator argumentRandomDistribution)

Generates matrix with random modulus and argument elements.
Parameters
return ComplexMatrix
int m Number of rows.
int n Number of columns.
IContinuousGenerator modulusRandomDistribution Continuous Random Distribution or Source for the modulus part (must be non-negative!).
IContinuousGenerator argumentRandomDistribution Continuous Random Distribution or Source for the argument part.

ComplexMatrix RandomReal(int m, int n, IContinuousGenerator realRandomDistribution)

Generates matrix with random real and zero imaginary elements.
Parameters
return ComplexMatrix
int m Number of rows.
int n Number of columns.
IContinuousGenerator realRandomDistribution Continuous Random Distribution or Source for the real part.

ComplexMatrix RandomUnitCircle(int m, int n, IContinuousGenerator argumentRandomDistribution)

Generates a matrix of complex numbers on the unit circle with random argument.
Parameters
return ComplexMatrix
int m Number of rows.
int n Number of columns.
IContinuousGenerator argumentRandomDistribution Continuous random distribution or source for the complex number arguments.

ComplexMatrix Zeros(int m)

Generates an m-by-m matrix filled with 0.
Parameters
return ComplexMatrix
int m Number of rows = Number of columns

Public properties

int ColumnCount get;

Gets the number of columns.
return int

Complex Item get; set;

Gets or set the element indexed by (i, j)in the Matrix.
return Complex

int RowCount get;

Gets the number of rows.
return int