Show / Hide Table of Contents

Class SparseRealSolver

Class for solving sparse sets of equations with real numbers.

Inheritance
object
ParameterSet
ParameterSetCollection
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>
SparseLUSolver<double>
SparseRealSolver
Implements
ISparsePivotingSolver<double>
ISparseSolver<double>
IPivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>
ISolver<double>
IParameterSetCollection
IParameterSet
IParameterized<Markowitz<double>>
Inherited Members
SparseLUSolver<double>.Fillins
SparseLUSolver<double>.Parameters
SparseLUSolver<double>.Precondition(PreconditioningMethod<ISparseMatrix<double>, ISparseVector<double>, double>)
SparseLUSolver<double>.Factor()
SparseLUSolver<double>.OrderAndFactor()
SparseLUSolver<double>.FindDiagonalElement(int)
SparseLUSolver<double>.FindElement(MatrixLocation)
SparseLUSolver<double>.FindElement(int)
SparseLUSolver<double>.GetElement(MatrixLocation)
SparseLUSolver<double>.RemoveElement(MatrixLocation)
SparseLUSolver<double>.GetElement(int)
SparseLUSolver<double>.RemoveElement(int)
SparseLUSolver<double>.MovePivot(ISparseMatrixElement<double>, int)
SparseLUSolver<double>.CreateFillin(MatrixLocation)
SparseLUSolver<double>.Clear()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.IsFactored
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.NeedsReordering
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Size
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.this[int, int]
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.this[MatrixLocation]
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.this[int]
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Row
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Column
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Matrix
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Vector
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Precondition(PreconditioningMethod<ISparseMatrix<double>, ISparseVector<double>, double>)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.SwapRows(int, int)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.SwapColumns(int, int)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Reset()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Clear()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ExternalToInternal(MatrixLocation)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.InternalToExternal(MatrixLocation)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ToString()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Factor()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.OrderAndFactor()
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.SetParameter<P>(string, P)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ForwardSubstitute(IVector<double>)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.BackwardSubstitute(IVector<double>)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ComputeDegenerateContribution(int)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ForwardSubstituteTransposed(IVector<double>)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.BackwardSubstituteTransposed(IVector<double>)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ComputeDegenerateContributionTransposed(int)
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.Degeneracy
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.PivotSearchReduction
ParameterSetCollection.GetParameterSet<P>()
ParameterSetCollection.TryGetParameterSet<P>(out P)
ParameterSetCollection.ParameterSets
ParameterSetCollection.SetParameter<P>(string, P)
ParameterSetCollection.TrySetParameter<P>(string, P)
ParameterSetCollection.GetProperty<P>(string)
ParameterSetCollection.TryGetProperty<P>(string, out P)
ParameterSetCollection.CreateParameterSetter<P>(string)
ParameterSetCollection.CreatePropertyGetter<P>(string)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.BackwardSubstitute(IVector<double>)

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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.BackwardSubstituteTransposed(IVector<double>)

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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ComputeDegenerateContribution(int)

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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ComputeDegenerateContributionTransposed(int)

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
SparseLUSolver<double>.Eliminate(ISparseMatrixElement<double>)
Exceptions
Type Condition
AlgebraException

Thrown if the pivot is null or 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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ForwardSubstitute(IVector<double>)
Exceptions
Type Condition
ArgumentNullException

Thrown if solution is null.

AlgebraException

Thrown if the solver is not factored yet.

ArgumentException

Thrown if solution does not have Size elements.

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
PivotingSolver<ISparseMatrix<double>, ISparseVector<double>, double>.ForwardSubstituteTransposed(IVector<double>)
Exceptions
Type Condition
ArgumentNullException

Thrown if solution is null.

AlgebraException

Thrown if the solver is not factored yet.

ArgumentException

Thrown if solution does not have Size elements.

Implements

ISparsePivotingSolver<T>
ISparseSolver<T>
IPivotingSolver<M, V, T>
ISolver<T>
IParameterSetCollection
IParameterSet
IParameterized<P>

Extension Methods

Utility.ThrowIfNull<T>(T, string)
Documentation.ParameterValues<T>(IParameterSet, bool)
Documentation.Parameters(IParameterSet)
Documentation.ParameterValues<T>(IParameterSetCollection, bool)
Documentation.Parameters(IParameterSetCollection)

See Also

SparseLUSolver<T>
In this article
Back to top Generated by DocFX