Provides implementation of Gaussian elimination with partial pivoting
Constructor | Description |
Full Usage:
GaussianEliminationSolver()
|
|
Instance member | Description |
Full Usage:
this.Solve
Parameters:
IROMatrix<float>
-
Elements of matrix 'A'. This array is modified during solution!
b : IReadOnlyList<float>
-
Right part 'b'. This array is also modified during solution!
x : IVector<float>
-
Vector to store the result, i.e. the solution to the problem a x = b.
Modifiers: abstract |
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting.
|
Full Usage:
this.Solve
Parameters:
IROMatrix<float>
-
Elements of matrix 'A'.
b : IReadOnlyList<float>
-
Right part 'b'
vectorCreation : Func<int, 'VectorT>
-
Function to create the resulting vector. Argument is the length of the vector.
Returns: 'VectorT
Modifiers: abstract Type parameters: 'VectorT |
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting.
|
Full Usage:
this.SolveDestructive
Parameters:
IMatrix<float>
-
Elements of matrix 'A'. This array is modified!
b : float[]
-
Right part 'b'. This array is also modified!
x : float[]
-
Vector to store the result, i.e. the solution to the problem a x = b.
|
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting. Attention! Both matrix A and vector b are destroyed (changed).
|
Full Usage:
this.SolveDestructive
Parameters:
MatrixWrapperStructForLeftSpineJaggedArray<float>
-
Elements of matrix 'A'. This array is modified!
b : float[]
-
Right part 'b'. This array is also modified!
x : float[]
-
Vector to store the result, i.e. the solution to the problem a x = b.
|
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting. Attention! Both matrix A and vector b are destroyed (changed).
|
Full Usage:
this.SolveDestructive
Parameters:
IMatrix<float>
-
Elements of matrix 'A'. The matrix is modified in this call!
b : IVector<float>
-
Right part 'b'. The vector is modified in this call!
x : IVector<float>
-
Vector to store the result, i.e. the solution to the problem A*x = b.
Modifiers: abstract |
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting. Attention! Both matrix a and vector b are destroyed (changed). |
Full Usage:
this.SolveDestructive
Parameters:
IMatrix<float>
-
Elements of matrix 'A'. This matrix is modified during solution!
b : IVector<float>
-
Right part 'b'. This vector is also modified during solution!
vectorCreation : Func<int, 'VectorT>
-
Function to create the resulting vector. Argument is the length of the vector.
Returns: 'VectorT
Modifiers: abstract Type parameters: 'VectorT |
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting.
|
Full Usage:
this.SolveDestructive
Parameters:
SparseDoubleMatrix
-
Sparse matrix, 'A'. This matrix is modified during solution!
b : float[]
-
Right part, 'b', is modified during solution.
Returns: float[]
Vector x with the result.
|
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting
|
Full Usage:
this.SolveDestructive
Parameters:
SparseDoubleMatrix
-
Sparse matrix, 'A'. This matrix is modified during solution!
b : float[]
-
Right part, 'b', is modified during solution.
x : float[]
-
Vector to store the solution.
|
Solves system of linear equations Ax = b using Gaussian elimination with partial pivoting
|
Full Usage:
this.SolveDestructiveBanded
Parameters:
MatrixWrapperStructForLeftSpineJaggedArray<float>
-
Elements of matrix 'A'. The matrix is modified!
lowerBandwidth : int
-
Lower band width of the matrix. It is not checked whether the matrix contains non-zero elements outside of the band!
upperBandwidth : int
-
Upper band width of the matrix. It is not checked whether the matrix contains non-zero elements outside of the band!
b : float[]
-
Right part 'b'. This array is also modified!
x : float[]
-
Vector to store the result, i.e. the solution to the problem a x = b.
|
Solves a system of linear equations Ax = b with a band matrix A, using Gaussian elimination with partial pivoting. Attention! Both matrix A and vector b are destroyed (changed).
|
Static member | Description |
Full Usage:
GaussianEliminationSolver.SolvePentaDiagonal(A, a, x)
Parameters:
IMatrix<float>
-
Pentadiagonal matrix.
a : float[]
-
Right part of the solution (remains unmodified).
x : float[]
-
Vector to store the result, i.e. the solution to the problem A x = a.
|
Solves a system where the matrix a is pentadiagonal, i.e. has two lower and two upper bands. The method is non-destructive, i.e. both matrix m and vector a are not changed.
References: [1] Engeln-Müllges, Numerik-Algorithmen, 10th ed., page 177
|
Full Usage:
GaussianEliminationSolver.SolvePentaDiagonal(A, a, x, tempStorage)
Parameters:
IMatrix<float>
-
Pentadiagonal matrix.
a : float[]
-
Right part of the solution (remains unmodified).
x : float[]
-
Vector to store the result, i.e. the solution to the problem A x = a.
tempStorage : byref<obj>
-
Object that accomodates temporary storage. Can be reused in repeated calls.
|
Solves a system where the matrix a is five diagonal, i.e. has two lower and two upper bands. The method is non-destructive, i.e. both matrix m and vector a are not changed.
References: [1] Engeln-Müllges, Numerik-Algorithmen, 10th ed., page 177
|
Full Usage:
GaussianEliminationSolver.SolveTriDiagonal(A, a, x)
Parameters:
IMatrix<float>
-
Tridiagonal matrix.
a : float[]
-
Right part of the solution (remains unmodified).
x : float[]
-
Vector to store the result, i.e. the solution to the problem A x = a.
|
Solves a system where the matrix a is tri diagonal, i.e. has one lower and one upper band. The method is non-destructive, i.e. both matrix m and vector a are not changed.
References: [1] Engeln-Müllges, Numerik-Algorithmen, 10th ed., page 165
|
Full Usage:
GaussianEliminationSolver.SolveTriDiagonal(A, a, x, tempStorage)
Parameters:
IMatrix<float>
-
Tridiagonal matrix.
a : float[]
-
Right part of the solution (remains unmodified).
x : float[]
-
Vector to store the result, i.e. the solution to the problem A x = a.
tempStorage : byref<obj>
-
Object that accomodates temporary storage. Can be reused in repeated calls.
|
Solves a system where the matrix a is tri diagonal, i.e. has one lower and one upper band. The method is non-destructive, i.e. both matrix m and vector a are not changed.
References: [1] Engeln-Müllges, Numerik-Algorithmen, 10th ed., page 165
|