NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.
|
Complex matrix. More...
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 |
Complex matrix.
$A Igor Nov09 Apr11;
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.
rowCount | Number of rows (first dimension) of the matrix. |
columnCount | Number 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.
A | Complex 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.
A | MathNet.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.
d1 | Number of rows. |
d2 | Number of columns. |
value | Value 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.
d | Size of the square complex matrix. |
val | Diagonal 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.
A | Two-dimensional jagged array of doubles. |
System.ArgumentException | All rows must have the same length. |
$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.
A | MathNet.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.
A | MathNet.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.
d1 | Number of rows. |
d2 | Number 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.
d | Number of rows and columns. |
static ComplexMatrix IG::Num::ComplexMatrix::Ones | ( | int | d1, |
int | d2 | ||
) | [inline, static] |
Creates a d1*d2 matrix filled with 1.
d1 | Number of rows. |
d2 | Number of columns. |
static ComplexMatrix IG::Num::ComplexMatrix::Ones | ( | int | d | ) | [inline, static] |
Generates a square d*d matrix filled with 1.
d1 | Number of rows and columns. |
ComplexMatrix IG::Num::ComplexMatrix::GetCopyThis | ( | ) | [inline] |
Creates and returns a copy of the current complex matrix.
override ComplexMatrixBase IG::Num::ComplexMatrix::GetCopyBase | ( | ) | [inline, virtual] |
Creates and returns a copy of the current complex 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.
rowCount | Number fo rows of the newly created matrix. |
columnCount | Number of columns of the newly created 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.
rowCount | Number fo rows of the newly created matrix. |
columnCount | Number of columns of the newly created 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.
length | Dimension of the newly created vector. |
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.
length | Dimension of the newly created vector. |
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).
a | Original complex matrix. |
result | Complex 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).
a | Original complex matrix. |
result | Complex 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.
m1 | Complex materix that is multiplied. |
s2 | Scalar with which complex matrix is multiplied. |
result | Complex 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).
m1 | First operand. |
m2 | Second 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).
m1 | First operand. |
m2 | Second 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).
m1 | First operand. |
m2 | Second operand. |
result |
$A Igor xx; Tako78 Apr20;
MathNet.Numerics.LinearAlgebra.ComplexMatrix IG::Num::ComplexMatrix::_base = null [private] |
complex [][] IG::Num::ComplexMatrix::_components [private] |
int IG::Num::ComplexMatrix::_rowCount [private] |
int IG::Num::ComplexMatrix::_columnCount [private] |
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.
i | Row index. |
j | Column 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.