Interface IPivotingSolver<M, V, T>
An ISolver<T> that implements mechanisms for pivoting. This means that the solver may reorder the internal matrix and right hand side vector.
Inherited Members
Namespace: SpiceSharp.Algebra
Assembly: SpiceSharp.dll
Syntax
public interface IPivotingSolver<M, V, T> : ISolver<T>, IParameterSetCollection, IParameterSet where M : IMatrix<T> where V : IVector<T>
Type Parameters
Name | Description |
---|---|
M | The matrix type. |
V | The vector type. |
T | The base value type. |
Properties
NeedsReordering
Gets or sets a value indicating whether the solver needs to be reordered all the way from the start.
Declaration
bool NeedsReordering { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
Remarks
If this flag is false, the solver will still reorder when using OrderAndFactor(), but it will try to stay away from reordering as long as possible. This flag will force the solver to immediately start reordering.
PivotSearchReduction
Gets or sets the pivot search reduction. This makes sure that pivots cannot be chosen from the last N rows. The default, 0, lets the pivot strategy to choose from the whole matrix.
Declaration
int PivotSearchReduction { get; set; }
Property Value
Type | Description |
---|---|
int | The pivot search reduction. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if the value is negative. |
Methods
ExternalToInternal(MatrixLocation)
Maps an external matrix location to an internal one.
Declaration
MatrixLocation ExternalToInternal(MatrixLocation indices)
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | indices | The external matrix location. |
Returns
Type | Description |
---|---|
MatrixLocation | The internal matrix location. |
InternalToExternal(MatrixLocation)
Maps an internal matrix location to an external one.
Declaration
MatrixLocation InternalToExternal(MatrixLocation indices)
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | indices | The internal matrix location. |
Returns
Type | Description |
---|---|
MatrixLocation | The external matrix location. |
OrderAndFactor()
Order and factor the equation matrix and right hand side vector. This method will reorder the matrix as it sees fit.
Declaration
int OrderAndFactor()
Returns
Type | Description |
---|---|
int | The number of rows that were successfully eliminated. |
Precondition(PreconditioningMethod<M, V, T>)
Preconditions the solver matrix and right hand side vector.
Declaration
void Precondition(PreconditioningMethod<M, V, T> method)
Parameters
Type | Name | Description |
---|---|---|
PreconditioningMethod<M, V, T> | method | The method. |