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