Class SparseRealSolver
Class for solving sparse sets of equations with real numbers.
Inheritance
Implements
Inherited Members
Namespace: SpiceSharp.Algebra
Assembly: SpiceSharp.dll
Syntax
public class SparseRealSolver : SparseLUSolver<double>, ISparsePivotingSolver<double>, ISparseSolver<double>, IPivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>, ISolver<double>, IParameterSetCollection, IParameterSet, IParameterized<Markowitz<double>>
Constructors
SparseRealSolver()
Initializes a new instance of the SparseRealSolver class.
Declaration
public SparseRealSolver()
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
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
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(ISparseMatrixElement<double>)
Eliminates the matrix right and below the pivot.
Declaration
protected override void Eliminate(ISparseMatrixElement<double> pivot)
Parameters
Type | Name | Description |
---|---|---|
ISparseMatrixElement<double> | pivot | The pivot element. |
Overrides
Exceptions
Type | Condition |
---|---|
AlgebraException | Thrown if the pivot is |
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 |
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 |