LinearOperator<T> Class

Defines methods for the solution of a system of simultaneous linear equations and related operations.

Definition

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
[SerializableAttribute]
public abstract class LinearOperator<T>
Inheritance
Object  →  LinearOperator<T>
Derived

Type Parameters

T

Remarks

LinearOperator<T> is implemented by all Matrix<T> classes and all classes that represent matrix decompositions.

The solution of a system of simultaneous linear equations represented by a Matrix<T> is one of the most common tasks in linear algebra. The [o:Solve] mechanism, which is overloaded, defines a common method for all classes that can represent matrices. This not only includes the Matrix<T> class and its descendants, but also the Decomposition<T> class and its descendants.

LinearOperator<T> also defines operations that are related to solving systems of equations, such as calculating the matrix GetInverse(), the GetDeterminant() and an estimate for the EstimateConditionNumber().

Constructors

LinearOperator<T>(Int32, Int32) Constructs a new LinearOperator<T>.
LinearOperator<T>(SerializationInfo, StreamingContext) Constructs a new linear operator from serialization data.

Properties

ColumnCount Gets the number of columns in the matrix.
ColumnIndex Gets or sets the index of labels for the columns of the matrix.
Preliminary
ElementType Gets the element type of the matrix.
RowCount Gets the number of rows in the matrix.
RowIndex Gets or sets the index of labels for the rows of the matrix.
Preliminary

Methods

AddProductToVector Multiplies a Vector<T> by this instance and stores the result in a second vector of type DenseVector<T>.
Obsolete.
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
EstimateConditionNumber Calculates an estimate for the condition number of a matrix.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetDeterminant Calculates the determinant of a matrix.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetInverse() Calculates the inverse matrix..
GetInverse(Boolean) Calculates the inverse of the factorized matrix.
GetObjectData Populates a SerializationInfo with the data needed to serialize the target object.
GetTypeGets the Type of the current instance.
(Inherited from Object)
IsSingular Gets a value indicating whether the matrix is singular.
LeastSquaresSolve(Matrix<T>) Solves the system of linear equations for the specified right-hand side matrix in the least squares sense.
LeastSquaresSolve(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
LeastSquaresSolve(DenseMatrix<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense matrix in the least squares sense and optionally overwrites the right-hand side with the solution.
LeastSquaresSolve(DenseVector<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense vector in the least squares sense and optionally overwrites the right-hand side with the solution.
LeastSquaresSolveInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides in the least squares sense.
LeastSquaresSolveInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side in the least squares sense.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Multiply(Matrix<T>)Applies the linear operator to a matrix.
Multiply(Vector<T>)Applies the linear operator to a vector.
Multiply(TransposeOperation, Matrix<T>) Multiplies a matrix on the left by this matrix.
Obsolete.
Multiply(TransposeOperation, Vector<T>) Multiplies a vector on the left by this vector.
Obsolete.
MultiplyAndAddAsLeftFactorCore Multiplies the matrix with a vector, adds the scaled result to another scaled vector, and returns the result.
MultiplyAndAddInto Multiplies the matrix with a vector, adds the scaled result to another scaled vector, and returns the result.
MultiplyAsLeftCore(TransposeOperation, Matrix<T>, Matrix<T>) Multiplies a matrix by the linear operator and returns the result.
MultiplyAsLeftCore(TransposeOperation, Vector<T>, Vector<T>) Multiplies a vector by the linear operator and returns the result.
MultiplyInto(LinearOperator<T>, Matrix<T>, Matrix<T>) Multiplies a matrix and a matrix.
MultiplyInto(LinearOperator<T>, Vector<T>, Vector<T>) Multiplies a matrix and a vector.
MultiplyInto(LinearOperator<T>, TransposeOperation, Matrix<T>, Matrix<T>) Multiplies a possibly transposed matrix and a matrix.
MultiplyInto(LinearOperator<T>, TransposeOperation, Vector<T>, Vector<T>) Multiplies a possibly transposed matrix and a vector.
MultiplyTranspose(Matrix<T>)Applies the transpose of the linear operator to a matrix.
MultiplyTranspose(Vector<T>)Applies the (conjugate) transpose of the linear operator to a vector.
Rank() Returns the numerical rank of a matrix.
Rank(T) Returns the numerical rank of a matrix using the specified tolerance.
Solve(Matrix<T>) Solves the system of linear equations for the specified right-hand side matrix.
Solve(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
Solve(DenseMatrix<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense matrix and optionally overwrites the right-hand side with the solution.
Solve(DenseVector<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense vector and optionally overwrites the right-hand side with the solution.
SolveInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
SolveInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
SolveInto(TransposeOperation, Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
SolveInto(TransposeOperation, Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
SolveTranspose(Matrix<T>) Solves the transposed system of linear equations for the specified right-hand side matrix.
SolveTranspose(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
SolveTranspose(DenseMatrix<T>, Boolean) Solves the transposed system of linear equations for the specified right-hand side dense matrix and optionally overwrites the right-hand side with the solution.
SolveTranspose(DenseVector<T>, Boolean) Solves the transposed system of linear equations for the specified right-hand side dense vector and optionally overwrites the right-hand side with the solution.
SolveTransposeInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
SolveTransposeInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
ToStringReturns a string that represents the current object.
(Inherited from Object)

Operators

Multiply(LinearOperator<T>, Matrix<T>)Applies a linear transformation to a vector.
Multiply(LinearOperator<T>, Vector<T>)Applies a linear transformation to a vector.

See Also