NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Num::ComplexMatrix Class Reference

Complex matrix. More...

Inheritance diagram for IG::Num::ComplexMatrix:
Collaboration diagram for IG::Num::ComplexMatrix:

List of all members.

Public Member Functions

 ComplexMatrix (int rowCount, int columnCount)
 Creats a new complex matrix with specified dimensions and all components set to 0.
 ComplexMatrix (IComplexMatrix A)
 Constructs a complex matrix from another complex matrix by copying the provided complex matrix components to the internal data structure.
 ComplexMatrix (MathNet.Numerics.LinearAlgebra.ComplexMatrix A)
 Construct a complex matrix from MathNet.Numerics.LinearAlgebra.ComplexMatrix. Only a reference of A is copied.
 ComplexMatrix (int d1, int d2, double val)
 Construct an numrows-by-d2 constant complex matrix with specified value for all elements.
 ComplexMatrix (int d, double val)
 Constructs a d*d square complex matrix with specified diagonal value.
 ComplexMatrix (MathNet.Numerics.Complex[][] A)
 Constructs a complex matrix from a jagged 2-D array, directly using the provided array as internal data structure.
ComplexMatrix GetCopyThis ()
 Creates and returns a copy of the current complex matrix.
override ComplexMatrixBase GetCopyBase ()
 Creates and returns a copy of the current complex matrix.
virtual ComplexMatrix GetNewThis (int rowCount, int columnCount)
 Creates and returns a new complex matrix with the specified dimensions, and of the same type as the current matrix.
override ComplexMatrixBase GetNewBase (int rowCount, int columnCount)
 Creates and returns a new complex matrix with the specified dimensions, and of the same type as the current matrix.
ComplexMatrix GetNewThis ()
 Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.
override ComplexMatrixBase GetNewBase ()
 Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.
ComplexVector GetNewComplexVectorThis (int length)
 Creates and returns a new complex vector with the specified dimension, and of the type that is consistent with the type of the current matrix.
override ComplexVectorBase GetNewComplexVectorBase (int length)
 Creates and returns a new complex vector with the specified dimension, and of the type that is consistent with the type of the current matrix.

Static Public Member Functions

static ComplexMatrix Create (MathNet.Numerics.Complex[][] A)
 Constructs a complex matrix from a copy of a 2-D array by deep-copy.
static ComplexMatrix Create (MathNet.Numerics.Complex[,] A)
 Constructs a complex matrix from a copy of a 2-D array by deep-copy.
static ComplexMatrix Zeros (int d1, int d2)
 Creates a d1*d2 complex matrix filled with 0.
static ComplexMatrix Zeros (int d)
 creates a square d*d matrix filled with 0.
static ComplexMatrix Ones (int d1, int d2)
 Creates a d1*d2 matrix filled with 1.
static ComplexMatrix Ones (int d)
 Generates a square d*d matrix filled with 1.
static void Copy (ComplexMatrix a, ComplexMatrix result)
 Copies components of a complex matrix to another complex matrix. WARNING: dimensions of the specified result complex matrix must match dimensions of the original complex matrix. REMARK: This method is implemented because it is more efficient than the corresponding method in MatrixBase (due to matched types).
static void Copy (ComplexMatrix a, ref ComplexMatrix result)
 Copies components of a complex matrix to another complex matrix. Resulting complex matrix is allocated or reallocated if necessary. REMARK: This method is implemented because it is more efficient than the corresponding method in MatrixBase (due to matched types).
static void Multiply (ComplexMatrix m1, double s2, ref ComplexMatrix result)
 Complex materix multiplication by a scalar.
static void KroneckerProduct (ComplexMatrix m1, ComplexMatrix m2, ComplexMatrix result)
 Kronecker product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).
static void KroneckerMultiply (ComplexMatrix m1, ComplexMatrix m2, ComplexMatrix result)
 Kronecker or tensor product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).
static void TensorMultiply (ComplexMatrix m1, ComplexMatrix m2, ComplexMatrix result)
 Kronecker or tensor product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).

Protected Member Functions

 ComplexMatrix ()

Properties

internal
MathNet.Numerics.LinearAlgebra.ComplexMatrix 
Base [get, set]
override int RowCount [get]
 Gets the first dimension (number of rows) of the matrix.
override int ColumnCount [get]
 Gets the second dimension (number of columns) of the matrix.
int RowCountSetter [set]
 Sets the first dimension (number of rows) of the matrix. This setter must be used very restrictively - only in setters that can change matrix dimensions. Setter is defined separately from getter because the base class' property does not define a getter.
int ColumnCountSetter [set]
 Sets the first dimension (number of rows) of the matrix. This setter must be used very restrictively - only in setters that can change matrix dimensions. Setter is defined separately from getter because the base class' property does not define a getter.
override complex this [int i, int j] [get, set]
 Gets or sets the element with specified indices of the current complex matrix.
new ComplexMatrix T [get]
 Returns a new complex matrix that is transpose of the current complex matrix. Re-implemented here for efficiency (hides the base class property).

Private Attributes

MathNet.Numerics.LinearAlgebra.ComplexMatrix _base = null
complex[][] _components
int _rowCount
int _columnCount

Detailed Description

Complex matrix.

$A Igor Nov09 Apr11;


Constructor & Destructor Documentation

IG::Num::ComplexMatrix::ComplexMatrix ( ) [inline, protected]

$A Igor xx; Tako78 Apr20;

IG::Num::ComplexMatrix::ComplexMatrix ( int  rowCount,
int  columnCount 
) [inline]

Creats a new complex matrix with specified dimensions and all components set to 0.

Parameters:
rowCountNumber of rows (first dimension) of the matrix.
columnCountNumber of columns (second dimension) of the matrix.
IG::Num::ComplexMatrix::ComplexMatrix ( IComplexMatrix  A) [inline]

Constructs a complex matrix from another complex matrix by copying the provided complex matrix components to the internal data structure.

Parameters:
AComplex matrix whose components are copied to the current matrix.

$A Igor xx; Tako78 Apr20;

IG::Num::ComplexMatrix::ComplexMatrix ( MathNet.Numerics.LinearAlgebra.ComplexMatrix  A) [inline]

Construct a complex matrix from MathNet.Numerics.LinearAlgebra.ComplexMatrix. Only a reference of A is copied.

Parameters:
AMathNet.Numerics.LinearAlgebra.ComplexMatrix from which a new complex matrix is created.

$A Igor xx; Tako78 Apr20;

IG::Num::ComplexMatrix::ComplexMatrix ( int  d1,
int  d2,
double  val 
) [inline]

Construct an numrows-by-d2 constant complex matrix with specified value for all elements.

Parameters:
d1Number of rows.
d2Number of columns.
valueValue of all components.

$A Igor xx; Tako78 Apr20;

IG::Num::ComplexMatrix::ComplexMatrix ( int  d,
double  val 
) [inline]

Constructs a d*d square complex matrix with specified diagonal value.

Parameters:
dSize of the square complex matrix.
valDiagonal value.

$A Igor xx; Tako78 Apr20;

IG::Num::ComplexMatrix::ComplexMatrix ( MathNet.Numerics.Complex  A[][]) [inline]

Constructs a complex matrix from a jagged 2-D array, directly using the provided array as internal data structure.

Parameters:
ATwo-dimensional jagged array of doubles.
Exceptions:
System.ArgumentExceptionAll rows must have the same length.
See also:
Matrix.Create(double[][]), Matrix.Create(double[,])

$A Igor xx; Tako78 Apr20;


Member Function Documentation

static ComplexMatrix IG::Num::ComplexMatrix::Create ( MathNet.Numerics.Complex  A[][]) [inline, static]

Constructs a complex matrix from a copy of a 2-D array by deep-copy.

Parameters:
AMathNet.Numerics.Complex from which a new matrix is created..

$A Igor xx; Tako78 Apr20;

static ComplexMatrix IG::Num::ComplexMatrix::Create ( MathNet.Numerics.Complex  A[,]) [inline, static]

Constructs a complex matrix from a copy of a 2-D array by deep-copy.

Parameters:
AMathNet.Numerics.Complex from which a new matrix is created.

$A Igor xx; Tako78 Apr20;

static ComplexMatrix IG::Num::ComplexMatrix::Zeros ( int  d1,
int  d2 
) [inline, static]

Creates a d1*d2 complex matrix filled with 0.

Parameters:
d1Number of rows.
d2Number of columns.

$A Igor xx; Tako78 Apr20;

static ComplexMatrix IG::Num::ComplexMatrix::Zeros ( int  d) [inline, static]

creates a square d*d matrix filled with 0.

Parameters:
dNumber of rows and columns.
static ComplexMatrix IG::Num::ComplexMatrix::Ones ( int  d1,
int  d2 
) [inline, static]

Creates a d1*d2 matrix filled with 1.

Parameters:
d1Number of rows.
d2Number of columns.
static ComplexMatrix IG::Num::ComplexMatrix::Ones ( int  d) [inline, static]

Generates a square d*d matrix filled with 1.

Parameters:
d1Number of rows and columns.
ComplexMatrix IG::Num::ComplexMatrix::GetCopyThis ( ) [inline]

Creates and returns a copy of the current complex matrix.

Returns:
A new copy of the current complex matrix. The copy is supposed to be of the same type as the current matrix.
override ComplexMatrixBase IG::Num::ComplexMatrix::GetCopyBase ( ) [inline, virtual]

Creates and returns a copy of the current complex matrix.

Returns:
A new copy of the current matrix. The copy is supposed to be of the same type as the current matrix.

Implements IG::Num::ComplexMatrixBase.

virtual ComplexMatrix IG::Num::ComplexMatrix::GetNewThis ( int  rowCount,
int  columnCount 
) [inline, virtual]

Creates and returns a new complex matrix with the specified dimensions, and of the same type as the current matrix.

Parameters:
rowCountNumber fo rows of the newly created matrix.
columnCountNumber of columns of the newly created matrix.
Returns:
A newly created matrix of the specified dimensions and of the same type as the current matrix.
override ComplexMatrixBase IG::Num::ComplexMatrix::GetNewBase ( int  rowCount,
int  columnCount 
) [inline, virtual]

Creates and returns a new complex matrix with the specified dimensions, and of the same type as the current matrix.

Parameters:
rowCountNumber fo rows of the newly created matrix.
columnCountNumber of columns of the newly created matrix.
Returns:
A newly created matrix of the specified dimensions and of the same type as the current matrix.

Implements IG::Num::ComplexMatrixBase.

ComplexMatrix IG::Num::ComplexMatrix::GetNewThis ( ) [inline]

Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.

override ComplexMatrixBase IG::Num::ComplexMatrix::GetNewBase ( ) [inline, virtual]

Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.

Implements IG::Num::ComplexMatrixBase.

ComplexVector IG::Num::ComplexMatrix::GetNewComplexVectorThis ( int  length) [inline]

Creates and returns a new complex vector with the specified dimension, and of the type that is consistent with the type of the current matrix.

Parameters:
lengthDimension of the newly created vector.
Returns:
A newly created vector of the specified dimension and of the same type as the current matrix.
override ComplexVectorBase IG::Num::ComplexMatrix::GetNewComplexVectorBase ( int  length) [inline, virtual]

Creates and returns a new complex vector with the specified dimension, and of the type that is consistent with the type of the current matrix.

Parameters:
lengthDimension of the newly created vector.
Returns:
A newly created vector of the specified dimension and of the same type as the current matrix.

Implements IG::Num::ComplexMatrixBase.

static void IG::Num::ComplexMatrix::Copy ( ComplexMatrix  a,
ComplexMatrix  result 
) [inline, static]

Copies components of a complex matrix to another complex matrix. WARNING: dimensions of the specified result complex matrix must match dimensions of the original complex matrix. REMARK: This method is implemented because it is more efficient than the corresponding method in MatrixBase (due to matched types).

Parameters:
aOriginal complex matrix.
resultComplex materix where copy will be stored. Dimensions must match dimensions of a.

$A Igor xx; Tako78 Apr20;

static void IG::Num::ComplexMatrix::Copy ( ComplexMatrix  a,
ref ComplexMatrix  result 
) [inline, static]

Copies components of a complex matrix to another complex matrix. Resulting complex matrix is allocated or reallocated if necessary. REMARK: This method is implemented because it is more efficient than the corresponding method in MatrixBase (due to matched types).

Parameters:
aOriginal complex matrix.
resultComplex materix where copy will be stored. Dimensions must match dimensions of a.

$A Igor xx; Tako78 Apr20;

static void IG::Num::ComplexMatrix::Multiply ( ComplexMatrix  m1,
double  s2,
ref ComplexMatrix  result 
) [inline, static]

Complex materix multiplication by a scalar.

Parameters:
m1Complex materix that is multiplied.
s2Scalar with which complex matrix is multiplied.
resultComplex materix where result is stored.

$A Igor xx; Tako78 Apr20;

static void IG::Num::ComplexMatrix::KroneckerProduct ( ComplexMatrix  m1,
ComplexMatrix  m2,
ComplexMatrix  result 
) [inline, static]

Kronecker product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).

Parameters:
m1First operand.
m2Second operand.
result

$A Igor xx; Tako78 Apr20;

static void IG::Num::ComplexMatrix::KroneckerMultiply ( ComplexMatrix  m1,
ComplexMatrix  m2,
ComplexMatrix  result 
) [inline, static]

Kronecker or tensor product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).

Parameters:
m1First operand.
m2Second operand.
result

$A Igor xx; Tako78 Apr20;

static void IG::Num::ComplexMatrix::TensorMultiply ( ComplexMatrix  m1,
ComplexMatrix  m2,
ComplexMatrix  result 
) [inline, static]

Kronecker or tensor product, A(m*n)*B(p*q)=C(mp*nq) Result is a block complex matrix with as many blocks as there are elements of the first complex matrix, each block being a product of the second complex matrix by an element of the first complex matrix. Both operands must be defined (non-null).

Parameters:
m1First operand.
m2Second operand.
result

$A Igor xx; Tako78 Apr20;


Member Data Documentation

MathNet.Numerics.LinearAlgebra.ComplexMatrix IG::Num::ComplexMatrix::_base = null [private]

Property Documentation

internal MathNet.Numerics.LinearAlgebra.ComplexMatrix IG::Num::ComplexMatrix::Base [get, set, protected]

$A Igor xx; Tako78 Apr20;

override int IG::Num::ComplexMatrix::RowCount [get]

Gets the first dimension (number of rows) of the matrix.

Reimplemented from IG::Num::ComplexMatrixBase.

override int IG::Num::ComplexMatrix::ColumnCount [get]

Gets the second dimension (number of columns) of the matrix.

Reimplemented from IG::Num::ComplexMatrixBase.

int IG::Num::ComplexMatrix::RowCountSetter [set, protected]

Sets the first dimension (number of rows) of the matrix. This setter must be used very restrictively - only in setters that can change matrix dimensions. Setter is defined separately from getter because the base class' property does not define a getter.

$A Igor xx; Tako78 Apr20;

int IG::Num::ComplexMatrix::ColumnCountSetter [set, protected]

Sets the first dimension (number of rows) of the matrix. This setter must be used very restrictively - only in setters that can change matrix dimensions. Setter is defined separately from getter because the base class' property does not define a getter.

$A Igor xx; Tako78 Apr20;

override complex IG::Num::ComplexMatrix::this[int i, int j] [get, set]

Gets or sets the element with specified indices of the current complex matrix.

Parameters:
iRow index.
jColumn index.

Reimplemented from IG::Num::ComplexMatrixBase.

new ComplexMatrix IG::Num::ComplexMatrix::T [get]

Returns a new complex matrix that is transpose of the current complex matrix. Re-implemented here for efficiency (hides the base class property).

$A Igor xx; Tako78 Apr20;

Reimplemented from IG::Num::ComplexMatrixBase.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties