IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Meta.Numerics.Matrices.AnySquareMatrix Class Reference

Describes the form of all real, square matrices. More...

+ Inheritance diagram for Meta.Numerics.Matrices.AnySquareMatrix:
+ Collaboration diagram for Meta.Numerics.Matrices.AnySquareMatrix:

Public Member Functions

virtual double Trace ()
 Computes the trace of the square matrix. More...
 
- Public Member Functions inherited from Meta.Numerics.Matrices.AnyRectangularMatrix
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...
 
- Public Member Functions inherited from Meta.Numerics.Matrices.AnyMatrix< T >
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 Public Member Functions inherited from Meta.Numerics.Matrices.AnyRectangularMatrix
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]
 
- Properties inherited from Meta.Numerics.Matrices.AnyMatrix< T >
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

- Protected Member Functions inherited from Meta.Numerics.Matrices.AnyRectangularMatrix
 AnyRectangularMatrix ()
 
- Protected Member Functions inherited from Meta.Numerics.Matrices.AnyMatrix< T >
 AnyMatrix ()
 

Detailed Description

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.

Member Function Documentation

virtual double Meta.Numerics.Matrices.AnySquareMatrix.Trace ( )
inlinevirtual

Computes the trace of the square matrix.

Returns
tr(M)

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().

static SquareMatrix Meta.Numerics.Matrices.AnySquareMatrix.operator+ ( AnySquareMatrix  A,
AnySquareMatrix  B 
)
inlinestatic

Adds any two real, square matrices.

Parameters
AThe first matrix.
BThe second matrix.
Returns
The sum matrix A + B.

Matrix addition is an O(N2) process.

References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.

static SquareMatrix Meta.Numerics.Matrices.AnySquareMatrix.operator- ( AnySquareMatrix  A,
AnySquareMatrix  B 
)
inlinestatic

Subtracts any two real, square matrices.

Parameters
AThe first matrix.
BThe second matrix.
Returns
The difference matrix A - B.

Matrix addition is an O(N2) process.

References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.

static SquareMatrix Meta.Numerics.Matrices.AnySquareMatrix.operator* ( AnySquareMatrix  A,
AnySquareMatrix  B 
)
inlinestatic

Multiplies any two real, square matrices.

Parameters
AThe first matrix.
BThe second matrix.
Returns
The product matrix AB.

Matrix multiplication is an O(N3) process.

References Meta.Numerics.Matrices.AnySquareMatrix.Dimension, and Meta.Numerics.Matrices.SquareMatrix.Dimension.

Property Documentation

abstract int Meta.Numerics.Matrices.AnySquareMatrix.Dimension
get
override int Meta.Numerics.Matrices.AnySquareMatrix.RowCount
get
override int Meta.Numerics.Matrices.AnySquareMatrix.ColumnCount
get

The documentation for this class was generated from the following file: