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

IG::Num::ComplexMatrixBase Class Reference

Base class for complex matrices. More...

Inheritance diagram for IG::Num::ComplexMatrixBase:
Collaboration diagram for IG::Num::ComplexMatrixBase:

List of all members.

Public Member Functions

abstract ComplexMatrixBase GetCopyBase ()
 Creates and returns a copy of the current complex matrix.
abstract 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.
abstract ComplexMatrixBase GetNewBase ()
 Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.
abstract 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 vector.
virtual IComplexMatrix GetCopy ()
 Creates and returns a copy of the current complex matrix.
virtual IComplexMatrix GetNew (int rowCount, int columnCount)
 Creates and returns a new complex matrix with the specified dimensions, and of the same type as the current matrix.
virtual IComplexMatrix GetNew ()
 Creates and returns a new complex matrix with the same dimensions and of the same type as the current matrix.
virtual IComplexVector GetNewComplexVector (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 vector.
virtual complex[,] ToArray ()
 Creates and returns a rectangular 2D array that contains a component-wise copy of the current complex matrix.
virtual complex[][] ToJaggedArray ()
 Creates and returns a jagged 2D array that contains a component-wise copy of the current complex matrix.
virtual void SetZero ()
 Sets all components of the current complex matrix to 0.
virtual void SetConstant (complex elementValue)
 Sets all components of the current complex matrix to the specified value.
virtual void SetIdentity ()
 Sets the current complex matrix to identity matrix.
virtual void SetRandom ()
 Sets the current matrix such that it contains random elements on the interval {(0,1],(0,1]}.
virtual void SetRandom (IRandomGenerator rnd)
 Sets the currentcomplex matrix such that it contains random elements on the interval {(0,1],(0,1]}.
virtual void SetDiagonal (IComplexVector diagonal)
 Sets the current complex matrix to the diagonal matrix with diagonal elements specified by a complex vector.
virtual void SetDiagonal (IVector diagonal)
 Sets the current complex matrix to the diagonal matrix with real diagonal elements specified by a real vector.
virtual void Negate ()
 Negates the current complex matrix.
virtual void Transpose ()
 Transposes the current matrix. WARNING: this operation can only be done on square matrices!
override string ToString ()
 Returns string representation of the current complex matrix in the standard IGLib form. Rows and elements are printed in comma separated lists in curly brackets.
string ToStringNewlines ()
 Returns a string representation of the current complex matrix with newlines inserted after each row. Rows and elements are printed in comma separated lists in curly brackets.
string ToStringMath ()
 Returns string representation of the current complex matrix in the standard IGLib form (Mathematica-like format but with C representation of numbers). Rows and elements are printed in comma separated lists in curly brackets.

Static Public Member Functions

static bool IsSquare (IComplexMatrix mat)
 Returns true if the specified complex matrix is a square matrix, and false if not. If the complex matrix is null then false is returned.
static bool IsSymmetric (IComplexMatrix mat)
 Returns true if the specified complex matrix is symmetric, and false if not. If the complex matrix is null then false is returned.
static int Compare (IComplexMatrix m1, IComplexMatrix m2)
 Compares two complex matrices and returns -1 if the first matrix is "smaller" than the second one, 0 if matrices are equal, and 1 if the first matrix is "greater". Matrix that is null is considered smaller than a matrix that is not null. Two null matrices are considered equal. Matrix with smaller dimension is considered smaller than a matrix with greater dimension. Matrices with equal dimensions ar compared by elements. The first element that is different decides which matrix is considered greater. Comparison is artificial and does not have mathematical meaning. 0 is returned if and only if matrices are equal.
static void Resize (ref IComplexMatrix mat, IComplexMatrix template, int rowCount, int columnCount)
 Resizes, if necessary, the specified complex matrix according to the required dimensions. If the matrix is initially null then a new matrix is created. If in this case a template matrix is specified then the newly created matrix will be of the same type as that template matrix, because it is created by the GetNew() method on that matrix. If dimensions of the initial matrix do not match the required dim., then matrix is resized. If the specified matrix dimension is less or equal to 0 then matrix is resized with the same dimensions as those of the template matirx. If in this case the template matrix is null, an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If matrix and template are both null then the type of nawly created matrix is Matrix.
static void Resize (ref IComplexMatrix mat, int rowCount, int columnCount)
 Resizes, if necessary, the specified matrix according to the required dimensions. If the matrix is initially null then a new matrix (of type Matrix) is created. If dimensions of the initial matrix do not match the required dimensions, then matrix is resized. Components are NOT preserved and have in general undefined values after operation is performed. WARNING: If the matrix is initially null then the type of the newly created matrix is Matrix.
static void Resize (ref IComplexMatrix mat, IComplexMatrix template)
 Resizes, if necessary, the specified matrix according to the dimensions of the specified template matrix. If the matrix is initially null then a new matrix is created. In this case the newly created matrix will be of the same type as that template matrix, because it is created by the GetNew() method on that matrix. If dimensions of the initial matrix do not match the dimensions of the template matrix, then matrix is resized. If the template matrix is null, then an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If matrix and template are null then the type of newly created matrix is Matrix.
static void CopyPlain (IComplexMatrix a, IComplexMatrix result)
 Copies components of a matrix to another matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the copied matrix and result storage must match.
static void Copy (IComplexMatrix a, IComplexMatrix result)
 Copies components of a matrix to another matrix. WARNING: dimensions of the copied matrix and result storage must match.
static void Copy (IComplexMatrix a, ref IComplexMatrix result)
 Copies components of a matrix to another matrix. Resulting matrix is allocated or reallocated if necessary.
static void NegatePlain (IComplexMatrix a, IComplexMatrix result)
 Stores a negative matrix of the operand in another matrix. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.
static void Negate (IComplexMatrix a, IComplexMatrix result)
 Stores a negative matrix of the operand in another matrix. Can be done in-place. WARNING: dimensions of the operand and result storage must match.
static void Negate (IComplexMatrix a, ref IComplexMatrix result)
 Stores a negative matrix of the operand in another matrix. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.
static void TransposePlain (IComplexMatrix a, IComplexMatrix result)
 Stores transpose of the operand in another matrix. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.
static void Transpose (IComplexMatrix a, IComplexMatrix result)
 Stores transpose of the operand in another matrix. Can be done in-place. WARNING: dimensions of the operand and result storage must match.
static void Transpose (IComplexMatrix a, ref IComplexMatrix result)
 Stores transpose of the complex matrix operand in another matrix. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.
static void SymmetrizePlain (IComplexMatrix a, IComplexMatrix result)
 Stores a symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.
static void Symmetrize (IComplexMatrix a, IComplexMatrix result)
 Stores symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. WARNING: dimensions of the operand and result storage must match.
static void Symmetrize (IComplexMatrix a, ref IComplexMatrix result)
 Stores symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.
static void AddPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Sums two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Add (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Sums two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Add (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 Sums two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void SubtractPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Subtract (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Subtract (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayMultiplyPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Element-by-element multiplication. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void ArrayMultiply (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Element-by-element multiplication. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void ArrayMultiply (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 Element-by-element multiplication. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayDividePlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Element-by-element division. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void ArrayDivide (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 Element-by-element division. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void ArrayDivide (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 Element-by-element division. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayMapPlain (IComplexMatrix a, Converter< complex, complex > mapping, IComplexMatrix result)
 Element-by-element mapping of an arbitrary function. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of complex matrices must match, otherwise an exception is thrown.
static void ArrayMap (IComplexMatrix a, Converter< complex, complex > mapping, IComplexMatrix result)
 Element-by-element mapping of an arbitrary function. WARNING: dimensions of complex matrices must match, otherwise an exception is thrown.
static void ArrayMap (IMatrix a, Converter< double, double > mapping, ref IMatrix result)
 Element-by-element mapping of an arbitrary function. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void MultiplyPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
static void Multiply (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A*B. Multiplies two complex matrices and stores the result in the specified result matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void Multiply (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 R=A*B. Multiplies two complex matrices and stores the result in the specified result matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspMatPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A^T*B Calculates product of transposed complex matrix and a complex matrix, and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMat (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A^T*B Multiplies two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMat (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 R=A^T*B Multiplies two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyMatTranspPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatTransp (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspTranspPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix result)
 R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspTransp (IComplexMatrix a, IComplexMatrix b, ref IComplexMatrix result)
 R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void Multiply (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void Multiply (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspMatTranspPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMatTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMatTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspMatMatPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMatMat (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspMatMat (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyMatMatTranspPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatMatTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatMatTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyMatTranspMatPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatTranspMat (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyMatTranspMat (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspTranspTranspPlain (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspTranspTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, IComplexMatrix result)
 R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.
static void MultiplyTranspTranspTransp (IComplexMatrix a, IComplexMatrix b, IComplexMatrix c, ref IComplexMatrix result)
 R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyPlain (IComplexMatrix a, IComplexVector b, IComplexVector result)
 R=A*b. Multiplies a complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Multiply (IComplexMatrix a, IComplexVector b, IComplexVector result)
 R=A*b. Multiplies a complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Multiply (IComplexMatrix a, IComplexVector b, ref IComplexVector result)
 R=A*b. Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. Operation can not be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyTranspVecPlain (IComplexMatrix a, IComplexVector b, IComplexVector result)
 R=A^T*b. Multiplies a transposed complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyTranspVec (IComplexMatrix a, IComplexVector b, IComplexVector result)
 R=A^T*b. Multiplies a transposed complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyTranspVec (IComplexMatrix a, IComplexVector b, ref IComplexVector result)
 R=A^T*b. Multiplies transposed complex matrix by scalar and stores the result in the specified result complex matrix. Operation can not be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyPlain (IComplexMatrix a, double b, IComplexMatrix result)
 Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Multiply (IComplexMatrix a, double b, IComplexMatrix result)
 Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;.

static void Multiply (IComplexMatrix a, double b, ref IComplexMatrix result)
 Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void DividePlain (IComplexMatrix a, double b, IComplexMatrix result)
 Divides complex matrix by scalar and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void Divide (IComplexMatrix a, double b, IComplexMatrix result)
 Divides complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;.

static void Divide (IComplexMatrix a, double b, ref IComplexMatrix result)
 Divides matrix by scalar and stores the result in the specified result matrix. This operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyDiagonalPlain (IComplexVector diag, IComplexMatrix a, IComplexMatrix result)
 Left-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyDiagonal (IComplexVector diag, IComplexMatrix a, IComplexMatrix result)
 Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyDiagonal (IComplexVector diag, IComplexMatrix a, ref IComplexMatrix result)
 Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyInverseDiagonalPlain (IComplexVector diag, IComplexMatrix a, IComplexMatrix result)
 Left-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyInverseDiagonal (IComplexVector diag, IComplexMatrix a, IComplexMatrix result)
 Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyInverseDiagonal (IComplexVector diag, IComplexMatrix a, ref IComplexMatrix result)
 Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyDiagonalPlain (IComplexMatrix a, IComplexVector diag, IComplexMatrix result)
 Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyDiagonal (IComplexMatrix a, IComplexVector diag, IComplexMatrix result)
 Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyDiagonal (IComplexMatrix a, IComplexVector diag, ref IComplexMatrix result)
 Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static void MultiplyInverseDiagonalPlain (IComplexMatrix a, IComplexVector diag, IComplexMatrix result)
 Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyInverseDiagonal (IComplexMatrix a, IComplexVector diag, IComplexMatrix result)
 Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 WARNING: dimensions of matrices must match, otherwise an exception is thrown.
static void MultiplyInverseDiagonal (IComplexMatrix a, IComplexVector diag, ref IComplexMatrix result)
 Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.
static string ToString (IComplexMatrix mat)
 Returns string representation of the specified complex matrix in the standard IGLib form. Rows and elements are printed in comma separated lists in curly brackets.
static string ToStringNewlines (IComplexMatrix mat)
 Returns a string representation of the specified complex matrix with newlines inserted after each row. Rows and elements are printed in comma separated lists in curly brackets.
static string ToStringMath (IComplexMatrix mat)
 Returns string representation of the current matrix in the standard IGLib form (Mathematica-like format but with C representation of numbers). Rows and elements are printed in comma separated lists in curly brackets.
static ComplexMatrixBase operator+ (ComplexMatrixBase m)
 Unary plus, returns the operand.
static ComplexMatrixBase operator- (ComplexMatrixBase m)
 Unary negation, returns the negative operand.
static ComplexMatrixBase operator+ (ComplexMatrixBase a, ComplexMatrixBase b)
 Complex matrix addition.
static ComplexMatrixBase operator- (ComplexMatrixBase a, ComplexMatrixBase b)
 Complex matrix subtraction.
static ComplexMatrixBase operator* (ComplexMatrixBase a, ComplexMatrixBase b)
 Product of two complex matrices.
static ComplexVectorBase operator* (ComplexMatrixBase a, ComplexVectorBase b)
 Product of a complex matrix and a complex vector.
static ComplexMatrixBase operator* (ComplexMatrixBase a, double b)
 Product of a complex matrix by a scalar.
static ComplexMatrixBase operator* (double a, ComplexMatrixBase b)
 Product of a complex matrix by a scalar.
static ComplexMatrixBase operator/ (ComplexMatrixBase a, double b)
 Complex matrix subtraction.

Static Protected Member Functions

static bool CheckTestResult (IComplexMatrix result, IComplexMatrix referenceResult, double tolerance, bool printReports)
 Checks whether the difference between complex matrix result of the tested operation and some reference result is within the specified tolerance.

Properties

abstract int RowCount [get]
 Gets the number of rows of the current complex matrix.
abstract int ColumnCount [get]
 Gets the number of columns of the current complex matrix.
abstract complex this [int i, int j] [get, set]
 Gets or sets the specified component of the current complex matrix.
virtual IComplexMatrix T [get]
 Returns a new complex matrix that is transpose of the current complex matrix.
virtual complex Trace [get]
 Gets matrix trace (sum of diagonal terms). Only valid for diagonal matrices.
virtual double NormForbenius [get]
 Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.
virtual double NormEuclidean [get]
 Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.
virtual double Norm [get]
 Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.

Static Private Member Functions

static bool TestMultiplyTranspMat (double tolerance, bool printReports)
 Tests product A^T*B.
static bool TestMultiplyMatTransp (double tolerance, bool printReports)
 Tests product A*B^T.
static bool TestMultiplyTranspTransp (double tolerance, bool printReports)
 Tests product A^T*B^T.
static bool TestMultiply3 (double tolerance, bool printReports)
 Tests product A*B*C.
static bool TestMultiplyTranspMatTransp (double tolerance, bool printReports)
 Tests product A^T*B*C^T.
static bool TestMultiplyTranspMatMat (double tolerance, bool printReports)
 Tests product A^T*B*C.
static bool TestMultiplyMatMatTransp (double tolerance, bool printReports)
 Tests product A*B*C^T.
static bool TestMultiplyMatTranspMat (double tolerance, bool printReports)
 Tests product A*B^T*C.
static bool TestMultiplyTranspTranspTransp (double tolerance, bool printReports)
 Tests product A^T*B^T*C^T.

Detailed Description

Base class for complex matrices.

$A Igor Nov09 Apr11;


Member Function Documentation

abstract ComplexMatrixBase IG::Num::ComplexMatrixBase::GetCopyBase ( ) [pure 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.

Implemented in IG::Num::ComplexMatrix.

abstract ComplexMatrixBase IG::Num::ComplexMatrixBase::GetNewBase ( int  rowCount,
int  ColumnCount 
) [pure 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.

Implemented in IG::Num::ComplexMatrix.

abstract ComplexMatrixBase IG::Num::ComplexMatrixBase::GetNewBase ( ) [pure virtual]

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

Implemented in IG::Num::ComplexMatrix.

abstract ComplexVectorBase IG::Num::ComplexMatrixBase::GetNewComplexVectorBase ( int  length) [pure 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 vector.

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

Implemented in IG::Num::ComplexMatrix.

virtual IComplexMatrix IG::Num::ComplexMatrixBase::GetCopy ( ) [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::IComplexMatrix.

virtual IComplexMatrix IG::Num::ComplexMatrixBase::GetNew ( 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::IComplexMatrix.

virtual IComplexMatrix IG::Num::ComplexMatrixBase::GetNew ( ) [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::IComplexMatrix.

virtual IComplexVector IG::Num::ComplexMatrixBase::GetNewComplexVector ( 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 vector.

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

Implements IG::Num::IComplexMatrix.

virtual complex [,] IG::Num::ComplexMatrixBase::ToArray ( ) [inline, virtual]

Creates and returns a rectangular 2D array that contains a component-wise copy of the current complex matrix.

virtual complex [][] IG::Num::ComplexMatrixBase::ToJaggedArray ( ) [inline, virtual]

Creates and returns a jagged 2D array that contains a component-wise copy of the current complex matrix.

virtual void IG::Num::ComplexMatrixBase::SetZero ( ) [inline, virtual]

Sets all components of the current complex matrix to 0.

virtual void IG::Num::ComplexMatrixBase::SetConstant ( complex  elementValue) [inline, virtual]

Sets all components of the current complex matrix to the specified value.

Parameters:
elementValueValue to which elements are set.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::SetIdentity ( ) [inline, virtual]

Sets the current complex matrix to identity matrix.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::SetRandom ( ) [inline, virtual]

Sets the current matrix such that it contains random elements on the interval {(0,1],(0,1]}.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::SetRandom ( IRandomGenerator  rnd) [inline, virtual]

Sets the currentcomplex matrix such that it contains random elements on the interval {(0,1],(0,1]}.

Parameters:
rndRandom generator used to generate matrix elements.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::SetDiagonal ( IComplexVector  diagonal) [inline, virtual]

Sets the current complex matrix to the diagonal matrix with diagonal elements specified by a complex vector.

Parameters:
diagonalVector of (complex) diagonal elements.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::SetDiagonal ( IVector  diagonal) [inline, virtual]

Sets the current complex matrix to the diagonal matrix with real diagonal elements specified by a real vector.

Parameters:
diagonalVector of (real) diagonal elements.

Implements IG::Num::IComplexMatrix.

virtual void IG::Num::ComplexMatrixBase::Negate ( ) [inline, virtual]

Negates the current complex matrix.

virtual void IG::Num::ComplexMatrixBase::Transpose ( ) [inline, virtual]

Transposes the current matrix. WARNING: this operation can only be done on square matrices!

static bool IG::Num::ComplexMatrixBase::IsSquare ( IComplexMatrix  mat) [inline, static]

Returns true if the specified complex matrix is a square matrix, and false if not. If the complex matrix is null then false is returned.

Parameters:
matComplex Matrix that is tested for being square.

$A Igor xx; Tako78 Apr15;

static bool IG::Num::ComplexMatrixBase::IsSymmetric ( IComplexMatrix  mat) [inline, static]

Returns true if the specified complex matrix is symmetric, and false if not. If the complex matrix is null then false is returned.

Parameters:
matComplex Matrix that is tested for being symmetric.

$A Igor xx; Tako78 Apr15;

static int IG::Num::ComplexMatrixBase::Compare ( IComplexMatrix  m1,
IComplexMatrix  m2 
) [inline, static]

Compares two complex matrices and returns -1 if the first matrix is "smaller" than the second one, 0 if matrices are equal, and 1 if the first matrix is "greater". Matrix that is null is considered smaller than a matrix that is not null. Two null matrices are considered equal. Matrix with smaller dimension is considered smaller than a matrix with greater dimension. Matrices with equal dimensions ar compared by elements. The first element that is different decides which matrix is considered greater. Comparison is artificial and does not have mathematical meaning. 0 is returned if and only if matrices are equal.

Parameters:
m1First matrix to be compared.
m2Second matrix to be compared.
Returns:
-1 if the first matrix is smaller than the second one, 0 if matrices are equal, and 1 if the second is greater.
static void IG::Num::ComplexMatrixBase::Resize ( ref IComplexMatrix  mat,
IComplexMatrix  template,
int  rowCount,
int  columnCount 
) [inline, static]

Resizes, if necessary, the specified complex matrix according to the required dimensions. If the matrix is initially null then a new matrix is created. If in this case a template matrix is specified then the newly created matrix will be of the same type as that template matrix, because it is created by the GetNew() method on that matrix. If dimensions of the initial matrix do not match the required dim., then matrix is resized. If the specified matrix dimension is less or equal to 0 then matrix is resized with the same dimensions as those of the template matirx. If in this case the template matrix is null, an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If matrix and template are both null then the type of nawly created matrix is Matrix.

Parameters:
matMatrix that is resized.
templateMatrix that is taken as template (for type of a newly created matrix or for dimensions if they are not specified).
rowCountIf greater than 0 then it specifies the number of rows to which matrix is resized.
columnCountIf greater than 0 then it specifies the number of columns to which matrix is resized.
static void IG::Num::ComplexMatrixBase::Resize ( ref IComplexMatrix  mat,
int  rowCount,
int  columnCount 
) [inline, static]

Resizes, if necessary, the specified matrix according to the required dimensions. If the matrix is initially null then a new matrix (of type Matrix) is created. If dimensions of the initial matrix do not match the required dimensions, then matrix is resized. Components are NOT preserved and have in general undefined values after operation is performed. WARNING: If the matrix is initially null then the type of the newly created matrix is Matrix.

Parameters:
matVMatrix that is resized.
rowCountDimension to which matrix is resized (if less than 1 then exception is thrown).
columnCountDimension to which matrix is resized (if less than 1 then exception is thrown).
static void IG::Num::ComplexMatrixBase::Resize ( ref IComplexMatrix  mat,
IComplexMatrix  template 
) [inline, static]

Resizes, if necessary, the specified matrix according to the dimensions of the specified template matrix. If the matrix is initially null then a new matrix is created. In this case the newly created matrix will be of the same type as that template matrix, because it is created by the GetNew() method on that matrix. If dimensions of the initial matrix do not match the dimensions of the template matrix, then matrix is resized. If the template matrix is null, then an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If matrix and template are null then the type of newly created matrix is Matrix.

Parameters:
matMatrix that is resized.
templateMatrix that is taken as template (for type of a newly created matrix or for dimensions).
static void IG::Num::ComplexMatrixBase::CopyPlain ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Copies components of a matrix to another matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the copied matrix and result storage must match.

Parameters:
aOriginal matrix.
resultMatrix where copy will be stored. Dimensions must match dimensions of original.
static void IG::Num::ComplexMatrixBase::Copy ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Copies components of a matrix to another matrix. WARNING: dimensions of the copied matrix and result storage must match.

Parameters:
aOriginal matrix.
resultMatrix where copy will be stored. Dimensions must match dimensions of original.
static void IG::Num::ComplexMatrixBase::Copy ( IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Copies components of a matrix to another matrix. Resulting matrix is allocated or reallocated if necessary.

Parameters:
aOriginal matrix.
resultMatrix where copy is stored.
static void IG::Num::ComplexMatrixBase::NegatePlain ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores a negative matrix of the operand in another matrix. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Negate ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores a negative matrix of the operand in another matrix. Can be done in-place. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Negate ( IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Stores a negative matrix of the operand in another matrix. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.

Parameters:
aOriginal matrix.
resultMatrix where result of negation is be stored.
static void IG::Num::ComplexMatrixBase::TransposePlain ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores transpose of the operand in another matrix. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Transpose ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores transpose of the operand in another matrix. Can be done in-place. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Transpose ( IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Stores transpose of the complex matrix operand in another matrix. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.

Parameters:
aOriginal matrix.
resultMatrix where result of negation is be stored.
static void IG::Num::ComplexMatrixBase::SymmetrizePlain ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores a symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand, must be a square matrix.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Symmetrize ( IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Stores symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. WARNING: dimensions of the operand and result storage must match.

Parameters:
aOperand, must be a square matrix.
resultMatrix where result is stored. Dimensions must match dimensions of operand.
static void IG::Num::ComplexMatrixBase::Symmetrize ( IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Stores symmetrized complex matrix of a square matrix operand in another matrix. Symmetrization is performed by averaging of non-diagonal terms and their transposed terms. Can be done in-place. Resulting matrix is allocated or reallocated if necessary.

Parameters:
aOriginal matrix, must be a square matrix.
resultMatrix where result of negation is be stored.
static void IG::Num::ComplexMatrixBase::AddPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Sums two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;;

static void IG::Num::ComplexMatrixBase::Add ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Sums two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Add ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

Sums two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::SubtractPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Subtract ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Subtract ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

Subtracts two complex matrices and stores the result in the specified result complex matrix. Operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultMatrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMultiplyPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Element-by-element multiplication. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMultiply ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Element-by-element multiplication. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMultiply ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

Element-by-element multiplication. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayDividePlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Element-by-element division. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayDivide ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Element-by-element division. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayDivide ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

Element-by-element division. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMapPlain ( IComplexMatrix  a,
Converter< complex, complex mapping,
IComplexMatrix  result 
) [inline, static]

Element-by-element mapping of an arbitrary function. This operation can be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of complex matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
mappingMapping applied to each element.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMap ( IComplexMatrix  a,
Converter< complex, complex mapping,
IComplexMatrix  result 
) [inline, static]

Element-by-element mapping of an arbitrary function. WARNING: dimensions of complex matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
mappingMapping applied to each element.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::ArrayMap ( IMatrix  a,
Converter< double, double >  mapping,
ref IMatrix  result 
) [inline, static]

Element-by-element mapping of an arbitrary function. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
mappingMapping applied to each element.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

Multiplies two complex matrices and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A*B. Multiplies two complex matrices and stores the result in the specified result matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

R=A*B. Multiplies two complex matrices and stores the result in the specified result matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A^T*B Calculates product of transposed complex matrix and a complex matrix, and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMat ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A^T*B Multiplies two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMat ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

R=A^T*B Multiplies two complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyTranspMat ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A^T*B.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTranspPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

R=A*B^T. Multiplies a complex matrix by transpose of another complex matrix and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyMatTransp ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A*B^T.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTranspPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  result 
) [inline, static]

R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTransp ( IComplexMatrix  a,
IComplexMatrix  b,
ref IComplexMatrix  result 
) [inline, static]

R=A^T*B^T. Multiplies transposed complex matrix by another transposed complex matrix, and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyTranspTransp ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A^T*B^T.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A*B*C. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiply3 ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A*B*C.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatTranspPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand, transpose of the first matrix factor.
bSecond operand, the second matrix factor.
cThird operand, transpose of the third matrix factor.
resultComplex matrix where the result is stored. Dimensions must be consistent with dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A^T*B*C^T. Multiplies three complex matrices (transposed first argument, second argument, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where result is stored. Allocated or reallocated if necessary.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyTranspMatTransp ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A^T*B*C^T.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatMatPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand, transpose of the first matrix factor.
bSecond operand, the second matrix factor.
cThird operand, transpose of the third matrix factor.
resultComplex matrix where the result is stored. Dimensions must be consistent with dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatMat ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of all arguments must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspMatMat ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A^T*B*C. Multiplies three complex matrices (transposed first argument, second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must be consistent, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultcomplex matrix where result is stored. Allocated or reallocated if necessary.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyTranspMatMat ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A^T*B*C.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatMatTranspPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatMatTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A*B*C^T. Multiplies three complex matrices (first argumet, second argumet, and transposed third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyMatMatTransp ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A*B*C^T.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTranspMatPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTranspMat ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyMatTranspMat ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A*B^T*C. Multiplies three complex matrices (first argument, transposed second argument, and third argument) and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyMatTranspMat ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A*B^T*C.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTranspTranspPlain ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTranspTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
IComplexMatrix  result 
) [inline, static]

R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of matrices must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspTranspTransp ( IComplexMatrix  a,
IComplexMatrix  b,
IComplexMatrix  c,
ref IComplexMatrix  result 
) [inline, static]

R=A^T*B^T*C^T. Multiplies three complex matrices and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. WARNING: This operation can not be performed in place. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
cThird operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::TestMultiplyTranspTranspTransp ( double  tolerance,
bool  printReports 
) [inline, static, private]

Tests product A^T*B^T*C^T.

Parameters:
toleranceTolerance (on norm of the difference) for the test to pass
printReportsSpecifies whether to print reports or not.
Returns:
true if the test passes, false if not.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyPlain ( IComplexMatrix  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

R=A*b. Multiplies a complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

R=A*b. Multiplies a complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultcomplex vector where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

R=A*b. Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. Operation can not be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspVecPlain ( IComplexMatrix  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

R=A^T*b. Multiplies a transposed complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspVec ( IComplexMatrix  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

R=A^T*b. Multiplies a transposed complex matrix with a complex vector and stores the result in the specified result complex vector. Operation can not be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyTranspVec ( IComplexMatrix  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

R=A^T*b. Multiplies transposed complex matrix by scalar and stores the result in the specified result complex matrix. Operation can not be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyPlain ( IComplexMatrix  a,
double  b,
IComplexMatrix  result 
) [inline, static]

Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
double  b,
IComplexMatrix  result 
) [inline, static]

Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;.

static void IG::Num::ComplexMatrixBase::Multiply ( IComplexMatrix  a,
double  b,
ref IComplexMatrix  result 
) [inline, static]

Multiplies complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::DividePlain ( IComplexMatrix  a,
double  b,
IComplexMatrix  result 
) [inline, static]

Divides complex matrix by scalar and stores the result in the specified result complex matrix. This is a plain version of the method that does not perform any consistency checks. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::Divide ( IComplexMatrix  a,
double  b,
IComplexMatrix  result 
) [inline, static]

Divides complex matrix by scalar and stores the result in the specified result complex matrix. This operation can be performed in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;.

static void IG::Num::ComplexMatrixBase::Divide ( IComplexMatrix  a,
double  b,
ref IComplexMatrix  result 
) [inline, static]

Divides matrix by scalar and stores the result in the specified result matrix. This operation can be performed in place. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonalPlain ( IComplexVector  diag,
IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Left-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aFirst operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonal ( IComplexVector  diag,
IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aFirst operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonal ( IComplexVector  diag,
IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)*A WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aFirst operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonalPlain ( IComplexVector  diag,
IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Left-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aSecond operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonal ( IComplexVector  diag,
IComplexMatrix  a,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aFirst operand.
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonal ( IComplexVector  diag,
IComplexMatrix  a,
ref IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=diag(d)^-1*A WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
diagFirst operand (a vector representing a diagonal matrix).
aFirst operand.
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonalPlain ( IComplexMatrix  a,
IComplexVector  diag,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonal ( IComplexMatrix  a,
IComplexVector  diag,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyDiagonal ( IComplexMatrix  a,
IComplexVector  diag,
ref IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d) WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonalPlain ( IComplexMatrix  a,
IComplexVector  diag,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 This is a plain version of the method that does not perform any consistency checks. The operation can be done in place. WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonal ( IComplexMatrix  a,
IComplexVector  diag,
IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 WARNING: dimensions of matrices must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where the result is stored. Dimensions must match dimensions of operands.

$A Igor xx; Tako78 Apr18;

static void IG::Num::ComplexMatrixBase::MultiplyInverseDiagonal ( IComplexMatrix  a,
IComplexVector  diag,
ref IComplexMatrix  result 
) [inline, static]

Right-multiplies a complex matrix with inverse of a diagonal complex matrix, and stores the result in the specified result complex matrix. R=A*diag(d)^-1 WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then the result is re-allocated.

Parameters:
aFirst operand.
diagSecond operand (a vector representing a diagonal matrix).
resultComplex matrix where result is stored.

$A Igor xx; Tako78 Apr18;

static string IG::Num::ComplexMatrixBase::ToString ( IComplexMatrix  mat) [inline, static]

Returns string representation of the specified complex matrix in the standard IGLib form. Rows and elements are printed in comma separated lists in curly brackets.

Parameters:
matMatrix whose string representation is returned.
static string IG::Num::ComplexMatrixBase::ToStringNewlines ( IComplexMatrix  mat) [inline, static]

Returns a string representation of the specified complex matrix with newlines inserted after each row. Rows and elements are printed in comma separated lists in curly brackets.

Parameters:
matMatrix whose string representation is returned.
static string IG::Num::ComplexMatrixBase::ToStringMath ( IComplexMatrix  mat) [inline, static]

Returns string representation of the current matrix in the standard IGLib form (Mathematica-like format but with C representation of numbers). Rows and elements are printed in comma separated lists in curly brackets.

Parameters:
matMatrix whose string representation is returned.
override string IG::Num::ComplexMatrixBase::ToString ( ) [inline]

Returns string representation of the current complex matrix in the standard IGLib form. Rows and elements are printed in comma separated lists in curly brackets.

string IG::Num::ComplexMatrixBase::ToStringNewlines ( ) [inline]

Returns a string representation of the current complex matrix with newlines inserted after each row. Rows and elements are printed in comma separated lists in curly brackets.

Implements IG::Num::IComplexMatrix.

string IG::Num::ComplexMatrixBase::ToStringMath ( ) [inline]

Returns string representation of the current complex matrix in the standard IGLib form (Mathematica-like format but with C representation of numbers). Rows and elements are printed in comma separated lists in curly brackets.

Implements IG::Num::IComplexMatrix.

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator+ ( ComplexMatrixBase  m) [inline, static]

Unary plus, returns the operand.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator- ( ComplexMatrixBase  m) [inline, static]

Unary negation, returns the negative operand.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator+ ( ComplexMatrixBase  a,
ComplexMatrixBase  b 
) [inline, static]

Complex matrix addition.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator- ( ComplexMatrixBase  a,
ComplexMatrixBase  b 
) [inline, static]

Complex matrix subtraction.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator* ( ComplexMatrixBase  a,
ComplexMatrixBase  b 
) [inline, static]

Product of two complex matrices.

$A Igor xx; Tako78 Apr18;

static ComplexVectorBase IG::Num::ComplexMatrixBase::operator* ( ComplexMatrixBase  a,
ComplexVectorBase  b 
) [inline, static]

Product of a complex matrix and a complex vector.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator* ( ComplexMatrixBase  a,
double  b 
) [inline, static]

Product of a complex matrix by a scalar.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator* ( double  a,
ComplexMatrixBase  b 
) [inline, static]

Product of a complex matrix by a scalar.

$A Igor xx; Tako78 Apr18;

static ComplexMatrixBase IG::Num::ComplexMatrixBase::operator/ ( ComplexMatrixBase  a,
double  b 
) [inline, static]

Complex matrix subtraction.

$A Igor xx; Tako78 Apr18;

static bool IG::Num::ComplexMatrixBase::CheckTestResult ( IComplexMatrix  result,
IComplexMatrix  referenceResult,
double  tolerance,
bool  printReports 
) [inline, static, protected]

Checks whether the difference between complex matrix result of the tested operation and some reference result is within the specified tolerance.

Parameters:
resultComplex matrix that is the result of the tested operation.
referenceResultReference result obtained in a different way.
toleranceTolerance on norm of the difference. Must be greater than 0. If norm is less or equal to the tolerance then the test passes.
printReportsIf true then short reports are printed to console.
Returns:
true if norm of the difference between the result complex matrix and the reference result is less or equal to tolerance.

$A Igor xx; Tako78 Apr15;


Property Documentation

abstract int IG::Num::ComplexMatrixBase::RowCount [get]

Gets the number of rows of the current complex matrix.

Reimplemented in IG::Num::ComplexMatrix.

abstract int IG::Num::ComplexMatrixBase::ColumnCount [get]

Gets the number of columns of the current complex matrix.

Reimplemented in IG::Num::ComplexMatrix.

abstract complex IG::Num::ComplexMatrixBase::this[int i, int j] [get, set]

Gets or sets the specified component of the current complex matrix.

Parameters:
iRow number of the component.
jColumn number of the component.

Reimplemented in IG::Num::ComplexMatrix.

virtual IComplexMatrix IG::Num::ComplexMatrixBase::T [get]

Returns a new complex matrix that is transpose of the current complex matrix.

Reimplemented in IG::Num::ComplexMatrix.

virtual complex IG::Num::ComplexMatrixBase::Trace [get]

Gets matrix trace (sum of diagonal terms). Only valid for diagonal matrices.

virtual double IG::Num::ComplexMatrixBase::NormForbenius [get]

Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.

virtual double IG::Num::ComplexMatrixBase::NormEuclidean [get]

Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.

virtual double IG::Num::ComplexMatrixBase::Norm [get]

Gets Forbenious (or Euclidean) norm of the matrix - square root of sum of squares of elements.


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