NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.
|
Base class for complex matrices. More...
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.
| |||||||
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.
| |||||||
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. |
Base class for complex matrices.
$A Igor Nov09 Apr11;
abstract ComplexMatrixBase IG::Num::ComplexMatrixBase::GetCopyBase | ( | ) | [pure virtual] |
Creates and returns a copy of the current complex 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.
rowCount | Number fo rows of the newly created matrix. |
columnCount | Number of columns of the newly created 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.
length | Dimension of the newly created vector. |
Implemented in IG::Num::ComplexMatrix.
virtual IComplexMatrix IG::Num::ComplexMatrixBase::GetCopy | ( | ) | [inline, virtual] |
Creates and returns a copy of the current complex 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.
rowCount | Number fo rows of the newly created matrix. |
columnCount | Number of columns of the newly created 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.
length | Dimension of the newly created 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.
elementValue | Value 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]}.
rnd | Random 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.
diagonal | Vector 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.
diagonal | Vector 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.
mat | Complex 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.
mat | Complex 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.
m1 | First matrix to be compared. |
m2 | Second matrix to be compared. |
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.
mat | Matrix that is resized. |
template | Matrix that is taken as template (for type of a newly created matrix or for dimensions if they are not specified). |
rowCount | If greater than 0 then it specifies the number of rows to which matrix is resized. |
columnCount | If 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.
mat | VMatrix that is resized. |
rowCount | Dimension to which matrix is resized (if less than 1 then exception is thrown). |
columnCount | Dimension 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.
mat | Matrix that is resized. |
template | Matrix 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.
a | Original matrix. |
result | Matrix 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.
a | Original matrix. |
result | Matrix 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.
a | Original matrix. |
result | Matrix 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.
a | Operand. |
result | Matrix 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.
a | Operand. |
result | Matrix 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.
a | Original matrix. |
result | Matrix 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.
a | Operand. |
result | Matrix 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.
a | Operand. |
result | Matrix 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.
a | Original matrix. |
result | Matrix 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.
a | Operand, must be a square matrix. |
result | Matrix 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.
a | Operand, must be a square matrix. |
result | Matrix 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.
a | Original matrix, must be a square matrix. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Matrix 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
mapping | Mapping applied to each element. |
result | Complex 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.
a | First operand. |
mapping | Mapping applied to each element. |
result | Complex 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.
a | First operand. |
mapping | Mapping applied to each element. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand, transpose of the first matrix factor. |
b | Second operand, the second matrix factor. |
c | Third operand, transpose of the third matrix factor. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand, transpose of the first matrix factor. |
b | Second operand, the second matrix factor. |
c | Third operand, transpose of the third matrix factor. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
c | Third operand. |
result | Complex 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.
tolerance | Tolerance (on norm of the difference) for the test to pass |
printReports | Specifies whether to print reports or 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
a | First operand. |
b | Second operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | First operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | First operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | First operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | Second operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | First operand. |
result | Complex 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.
diag | First operand (a vector representing a diagonal matrix). |
a | First operand. |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
a | First operand. |
diag | Second operand (a vector representing a diagonal matrix). |
result | Complex 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.
mat | Matrix 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.
mat | Matrix 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.
mat | Matrix 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.
result | Complex matrix that is the result of the tested operation. |
referenceResult | Reference result obtained in a different way. |
tolerance | Tolerance on norm of the difference. Must be greater than 0. If norm is less or equal to the tolerance then the test passes. |
printReports | If true then short reports are printed to console. |
$A Igor xx; Tako78 Apr15;
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.
i | Row number of the component. |
j | Column 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.