Class DenseRealSolver
Class for solving dense sets of equations with real numbers.
Inheritance
Implements
Inherited Members
Namespace: SpiceSharp.Algebra
Assembly: SpiceSharp.dll
Syntax
public class DenseRealSolver : DenseLUSolver<double>, IPivotingSolver<IMatrix<double>, IVector<double>, double>, ISolver<double>, IParameterSetCollection, IParameterSet, IParameterized<RookPivoting<double>>
Constructors
DenseRealSolver()
Initializes a new instance of the DenseRealSolver class.
Declaration
public DenseRealSolver()
DenseRealSolver(int)
Initializes a new instance of the DenseRealSolver class.
Declaration
public DenseRealSolver(int size)
Parameters
Type | Name | Description |
---|---|---|
int | size | The size. |
Methods
BackwardSubstitute(IVector<double>)
Applies backward substitution on a factored matrix and the intermediate vector.
Declaration
public override void BackwardSubstitute(IVector<double> solution)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
Overrides
BackwardSubstitute(IVector<double>, int)
Applies backward substitution.
Declaration
public void BackwardSubstitute(IVector<double> solution, int size)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution. |
int | size | The maximum size. |
BackwardSubstituteTransposed(IVector<double>)
Applies backward substitution on the adjoint matrix and the intermediate vector.
Declaration
public override void BackwardSubstituteTransposed(IVector<double> solution)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
Overrides
BackwardSubstituteTransposed(IVector<double>, int)
Applies backward substitution on the adjoint matrix, but limits to the given size.
Declaration
public void BackwardSubstituteTransposed(IVector<double> solution, int steps)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
int | steps | The steps to substitute. |
ComputeDegenerateContribution(int)
Computes a contribution for degenerate solvers (Degeneracy is larger than 0). Used when solving submatrices separately.
Declaration
public override double ComputeDegenerateContribution(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index. |
Returns
Type | Description |
---|---|
double | Returns the contribution. |
Overrides
ComputeDegenerateContributionTransposed(int)
Computes a contribution of the transposed solving for degenerate solvers (Degeneracy is larger than 0). Used when solving submatrices separately.
Declaration
public override double ComputeDegenerateContributionTransposed(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index. |
Returns
Type | Description |
---|---|
double | Returns the contribution. |
Overrides
Eliminate(int, int)
Eliminates the submatrix right and below the pivot.
Declaration
protected override void Eliminate(int step, int size)
Parameters
Type | Name | Description |
---|---|---|
int | step | The current elimination step. |
int | size | The maximum row/column to be eliminated. |
Overrides
Exceptions
Type | Condition |
---|---|
AlgebraException | Thrown if the pivot has a magnitude of zero. |
ForwardSubstitute(IVector<double>)
Applies forward substitution on a factored matrix and right-hand side vector.
Declaration
public override void ForwardSubstitute(IVector<double> solution)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
AlgebraException | Thrown if the solver is not factored yet. |
ArgumentException | Thrown if |
ForwardSubstitute(IVector<double>, int)
Applies forward substitution, but limits to the given size.
Declaration
public void ForwardSubstitute(IVector<double> solution, int size)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution. |
int | size | The size. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
AlgebraException | Thrown if the matrix is not yet factored. |
ArgumentException | Thrown if the solution vector is not of size Size. |
ForwardSubstituteTransposed(IVector<double>)
Applies forward substitution on the adjoint matrix and right-hand side vector.
Declaration
public override void ForwardSubstituteTransposed(IVector<double> solution)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
AlgebraException | Thrown if the solver is not factored yet. |
ArgumentException | Thrown if |
ForwardSubstituteTransposed(IVector<double>, int)
Applies forward substitution of the adjoint matrix, but limits to the given size.
Declaration
public void ForwardSubstituteTransposed(IVector<double> solution, int steps)
Parameters
Type | Name | Description |
---|---|---|
IVector<double> | solution | The solution vector. |
int | steps | The steps to substitute. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
AlgebraException | Thrown if the matrix is not yet factored. |
ArgumentException | Thrown if the solution vector is not of size Size. |