ILinearEquationSolver<'T> Type

Interface to a solver for linear equations. The procedure can either be non-destructive (keeping the matrix and the vector b), or destructive (not keeping matrix m and vector b). The destructive solving process may be faster, since saving of the matrix and the vector is not required.

Instance members

Instance member Description

this.Solve

Full Usage: this.Solve

Parameters:
Modifiers: abstract

Solves the equation A*x == b. The matrix m and vector b will be kept. If this is not neccessary, then use ILinearEquationSolver.SolveDestructive, because it might be slightly faster.

A : IROMatrix<'T>

The matrix.

b : IReadOnlyList<'T>

The right hand vector.

x : IVector<'T>

The solution x of the equation A*x==b.

this.Solve

Full Usage: this.Solve

Parameters:
    A : IROMatrix<float> - The matrix.
    b : IReadOnlyList<float> - The right hand vector.
    vectorCreation : Func<int, 'VectorT> - Function to create a new vector. Argument is the length of the vector.

Returns: 'VectorT The solution x of the equation A*x==b.
Modifiers: abstract

Solves the equation A*x == b. The matrix A and right hand vector b will be kept. If this is not neccessary, then use ILinearEquationSolver.SolveDestructive, because it might be slightly faster.

A : IROMatrix<float>

The matrix.

b : IReadOnlyList<float>

The right hand vector.

vectorCreation : Func<int, 'VectorT>

Function to create a new vector. Argument is the length of the vector.

Returns: 'VectorT

The solution x of the equation A*x==b.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
Modifiers: abstract

Solves the equation A*x == b. The matrix A and the right hand vector b might be changed in the process. If this is unwanted, then better use ILinearEquationSolver.Solve.

A : IMatrix<'T>

The m.

b : IVector<'T>

The b.

x : IVector<'T>

The result.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : IMatrix<float> - The matrix. It will be modified during this call!
    b : IVector<float> - The right hand vector. Will be modified during this call!
    vectorCreation : Func<int, 'VectorT> - Function to create a new vector. Argument is the length of the vector.

Returns: 'VectorT The solution x of the equation A*x==b.
Modifiers: abstract

Solves the equation A*x == b. The matrix A and the right hand vector b might be changed in the process. If this is unwanted, then better use ILinearEquationSolver.Solve.

A : IMatrix<float>

The matrix. It will be modified during this call!

b : IVector<float>

The right hand vector. Will be modified during this call!

vectorCreation : Func<int, 'VectorT>

Function to create a new vector. Argument is the length of the vector.

Returns: 'VectorT

The solution x of the equation A*x==b.