IGLib
1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
|
Describes the form of all real, square matrices. More...
Public Member Functions | |
virtual double | Trace () |
Computes the trace of the square matrix. More... | |
![]() | |
virtual double | OneNorm () |
Computes the 1-norm of the matrix. More... | |
virtual double | InfinityNorm () |
Computes the ∞-norm of the matrix. More... | |
virtual double | FrobeniusNorm () |
Computes the Frobenius-norm of the matrix. More... | |
virtual ColumnVector | Column (int c) |
Gets a copy of the specified column. More... | |
virtual RowVector | Row (int r) |
Gets a copy of the specified row. More... | |
virtual SymmetricMatrix | MultiplySelfByTranspose () |
Computes the product of the matrix and its transpose. More... | |
virtual SymmetricMatrix | MultiplyTransposeBySelf () |
Computes the product of the matrix's transpose and itself. More... | |
bool | Equals (AnyRectangularMatrix other) |
Determines whether the given matrix equals the current matrix. More... | |
override bool | Equals (object obj) |
Determines whether the given object is an equal matrix. More... | |
override int | GetHashCode () |
Not a valid operation. More... | |
![]() | |
virtual void | Fill (Func< int, int, T > f) |
Sets all matrix entries according to a supplied fill function. More... | |
virtual T[,] | ToArray () |
Copies the matrix into an array. More... | |
Static Public Member Functions | |
static SquareMatrix | operator+ (AnySquareMatrix A, AnySquareMatrix B) |
Adds any two real, square matrices. More... | |
static SquareMatrix | operator- (AnySquareMatrix A, AnySquareMatrix B) |
Subtracts any two real, square matrices. More... | |
static SquareMatrix | operator* (AnySquareMatrix A, AnySquareMatrix B) |
Multiplies any two real, square matrices. More... | |
![]() | |
static RectangularMatrix | operator+ (AnyRectangularMatrix A, AnyRectangularMatrix B) |
Adds any two real, rectangular matrices. More... | |
static RectangularMatrix | operator- (AnyRectangularMatrix A, AnyRectangularMatrix B) |
Subtracts any two real, rectangular matrices. More... | |
static RectangularMatrix | operator* (AnyRectangularMatrix A, AnyRectangularMatrix B) |
Multiplies any two real, rectangular matrices. More... | |
static RectangularMatrix | operator* (double alpha, AnyRectangularMatrix A) |
Multiplies any real, rectangular matrix by a real constant. More... | |
static ColumnVector | operator* (AnyRectangularMatrix A, ColumnVector v) |
Multiplies any real, rectangular matrix with a real column vector. More... | |
static bool | operator== (AnyRectangularMatrix A, AnyRectangularMatrix B) |
Determines whether two matrices are equal. More... | |
static bool | operator!= (AnyRectangularMatrix A, AnyRectangularMatrix B) |
Determines whether two matrices are not equal. More... | |
Properties | |
abstract int | Dimension [get] |
Gets or sets the dimension of the square matrix. More... | |
override int | RowCount [get] |
override int | ColumnCount [get] |
![]() | |
abstract int | RowCount [get] |
Gets the number of matrix rows. More... | |
abstract int | ColumnCount [get] |
Gets the number of matrix columns. More... | |
abstract T | this[int r, int c] [get, set] |
Gets or sets the value of a matrix entry. More... | |
bool | IsReadOnly [get, set] |
Gets a flag indicating whether the matrix is read-only. More... | |
Additional Inherited Members | |
![]() | |
AnyRectangularMatrix () | |
![]() | |
AnyMatrix () | |
Describes the form of all real, square matrices.
This is an abstract class that describes any real, square matrix. If you wish to create a concrete instance of a real, non-square matrix, use the SquareMatrix class. If, on the other hand, you wish to write a function that can operate on any real, square matrix, it's probably a good idea to accept a AnySquareMatrix, so that your function could operate on any concrete implementation.
|
inlinevirtual |
Computes the trace of the square matrix.
The trace of a square matrix is the sum of its diagonal elements.
Reimplemented in Meta.Numerics.Matrices.SymmetricMatrix.
Referenced by Test.SquareMatrixTest.SquareRandomMatrixEigenvalues(), Test.SquareMatrixTest.SquareUnitMatrixLUDecomposition(), and Test.SquareMatrixTest.SquareVandermondeMatrixEigenvalues().
|
inlinestatic |
Adds any two real, square matrices.
A | The first matrix. |
B | The second matrix. |
Matrix addition is an O(N2) process.
References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.
|
inlinestatic |
Subtracts any two real, square matrices.
A | The first matrix. |
B | The second matrix. |
Matrix addition is an O(N2) process.
References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.
|
inlinestatic |
Multiplies any two real, square matrices.
A | The first matrix. |
B | The second matrix. |
Matrix multiplication is an O(N3) process.
References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.
|
get |
Gets or sets the dimension of the square matrix.
Referenced by Meta.Numerics.Matrices.AnySquareMatrix.operator*(), Meta.Numerics.Matrices.AnySquareMatrix.operator+(), and Meta.Numerics.Matrices.AnySquareMatrix.operator-().
|
get |
|
get |