GaussianEliminationSolver Type

Provides implementation of Gaussian elimination with partial pivoting

Constructors

Constructor Description

GaussianEliminationSolver()

Full Usage: GaussianEliminationSolver()

Instance members

Instance member Description

this.Solve

Full Usage: this.Solve

Parameters:
    A : 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.

A : 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.

this.Solve

Full Usage: this.Solve

Parameters:
    A : 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.

A : 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

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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).

A : 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.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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).

A : 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.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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).

A : 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.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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.

A : 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

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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

A : 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.

this.SolveDestructive

Full Usage: this.SolveDestructive

Parameters:
    A : 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

A : 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.

this.SolveDestructiveBanded

Full Usage: this.SolveDestructiveBanded

Parameters:
    A : 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).

A : 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.

Static members

Static member Description

GaussianEliminationSolver.SolvePentaDiagonal(A, a, x)

Full Usage: GaussianEliminationSolver.SolvePentaDiagonal(A, a, x)

Parameters:
    A : 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

A : 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.

GaussianEliminationSolver.SolvePentaDiagonal(A, a, x, tempStorage)

Full Usage: GaussianEliminationSolver.SolvePentaDiagonal(A, a, x, tempStorage)

Parameters:
    A : 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

A : 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.

GaussianEliminationSolver.SolveTriDiagonal(A, a, x)

Full Usage: GaussianEliminationSolver.SolveTriDiagonal(A, a, x)

Parameters:
    A : 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

A : 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.

GaussianEliminationSolver.SolveTriDiagonal(A, a, x, tempStorage)

Full Usage: GaussianEliminationSolver.SolveTriDiagonal(A, a, x, tempStorage)

Parameters:
    A : 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

A : 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.