LinearOperator<T>.Solve Method

Definition

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
Solves the system of simultaneous linear equations represented by this instance.

Overload List

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.

LinearOperator<T>.Solve(Matrix<T>)

Solves the system of linear equations for the specified right-hand side matrix.
C#
public Matrix<T> Solve(
	Matrix<T> rightHandSide
)

Parameters

rightHandSide  Matrix<T>
A Matrix<T>.

Return Value

Matrix<T>
A DenseMatrix<T> containing the solution of the system of simultaneous linear equations.

Exceptions

ArgumentNullExceptionrightHandSide is null.
DimensionMismatchExceptionThe length of rightHandSide does not equal the number of rows of the matrix underlying this system of equations.

-or-

The matrix is not square.

MatrixSingularExceptionThe Matrix<T> underlying this system of equations is singular and does not have an inverse.
DimensionMismatchException

LinearOperator<T>.Solve(Vector<T>)

Solves the system of linear equations for the specified right-hand side vector.
C#
public Vector<T> Solve(
	Vector<T> rightHandSide
)

Parameters

rightHandSide  Vector<T>
A Vector<T>.

Return Value

Vector<T>
A DenseVector<T> containing the solution of the system of simultaneous linear equations.

Exceptions

ArgumentNullExceptionrightHandSide is null.
DimensionMismatchExceptionThe length of rightHandSide does not equal the number of rows in the matrix underlying this system of equations.
MatrixSingularExceptionThe Matrix<T> underlying this system of equations is singular and does not have an inverse.
DimensionMismatchExceptionThe Matrix<T> underlying this system of equations is not square.

LinearOperator<T>.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.
C#
public Matrix<T> Solve(
	DenseMatrix<T> rightHandSide,
	bool overwrite
)

Parameters

rightHandSide  DenseMatrix<T>
A DenseMatrix<T>.
overwrite  Boolean
If false, a new DenseMatrix<T> instance containing the solution to the system of equations is returned. (This is the default.) If true, the matrix rightHandSide is overwritten by the solution.

Return Value

Matrix<T>
A DenseMatrix<T> containing the solution of the system of simultaneous linear equations.

Remarks

Note that the first parameter must be a DenseMatrix<T>. This is because this is the only matrix type whose elements are guaranteed to be all writable.

Exceptions

ArgumentNullExceptionrightHandSide is null.
DimensionMismatchExceptionThe number of rows of rightHandSide does not equal the number of rows of the matrix underlying this system of equations.
MatrixSingularExceptionThe Matrix<T> underlying this system of equations is singular and does not have an inverse.
DimensionMismatchExceptionThe Matrix<T> underlying this system of equations is not square.

LinearOperator<T>.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.
C#
public Vector<T> Solve(
	DenseVector<T> rightHandSide,
	bool overwrite
)

Parameters

rightHandSide  DenseVector<T>
A Vector<T>.
overwrite  Boolean
If false, a new Vector<T> instance containing the solution to the system of equations is returned. If false, the vector rightHandSide is overwritten by the solution.

Return Value

Vector<T>
A DenseVector<T> containing the solution of the system of simultaneous linear equations.

Exceptions

ArgumentNullExceptionrightHandSide is null.
DimensionMismatchExceptionThe length of rightHandSide does not equal the number of rows of the matrix underlying this system of equations.
MatrixSingularExceptionThe Matrix<T> underlying this system of equations is singular and does not have an inverse.
DimensionMismatchExceptionThe Matrix<T> underlying this system of equations is not square.

See Also