Show / Hide Table of Contents

Class DenseRealSolver

Class for solving dense sets of equations with real numbers.

Inheritance
object
ParameterSet
ParameterSetCollection
PivotingSolver<IMatrix<double>, IVector<double>, double>
DenseLUSolver<double>
DenseRealSolver
Implements
IPivotingSolver<IMatrix<double>, IVector<double>, double>
ISolver<double>
IParameterSetCollection
IParameterSet
IParameterized<RookPivoting<double>>
Inherited Members
DenseLUSolver<double>.Parameters
DenseLUSolver<double>.Precondition(PreconditioningMethod<IMatrix<double>, IVector<double>, double>)
DenseLUSolver<double>.Factor()
DenseLUSolver<double>.Factor(int)
DenseLUSolver<double>.OrderAndFactor()
DenseLUSolver<double>.Clear()
PivotingSolver<IMatrix<double>, IVector<double>, double>.IsFactored
PivotingSolver<IMatrix<double>, IVector<double>, double>.NeedsReordering
PivotingSolver<IMatrix<double>, IVector<double>, double>.Size
PivotingSolver<IMatrix<double>, IVector<double>, double>.this[int, int]
PivotingSolver<IMatrix<double>, IVector<double>, double>.this[MatrixLocation]
PivotingSolver<IMatrix<double>, IVector<double>, double>.this[int]
PivotingSolver<IMatrix<double>, IVector<double>, double>.Row
PivotingSolver<IMatrix<double>, IVector<double>, double>.Column
PivotingSolver<IMatrix<double>, IVector<double>, double>.Matrix
PivotingSolver<IMatrix<double>, IVector<double>, double>.Vector
PivotingSolver<IMatrix<double>, IVector<double>, double>.Precondition(PreconditioningMethod<IMatrix<double>, IVector<double>, double>)
PivotingSolver<IMatrix<double>, IVector<double>, double>.SwapRows(int, int)
PivotingSolver<IMatrix<double>, IVector<double>, double>.SwapColumns(int, int)
PivotingSolver<IMatrix<double>, IVector<double>, double>.Reset()
PivotingSolver<IMatrix<double>, IVector<double>, double>.Clear()
PivotingSolver<IMatrix<double>, IVector<double>, double>.ExternalToInternal(MatrixLocation)
PivotingSolver<IMatrix<double>, IVector<double>, double>.InternalToExternal(MatrixLocation)
PivotingSolver<IMatrix<double>, IVector<double>, double>.ToString()
PivotingSolver<IMatrix<double>, IVector<double>, double>.Factor()
PivotingSolver<IMatrix<double>, IVector<double>, double>.OrderAndFactor()
PivotingSolver<IMatrix<double>, IVector<double>, double>.SetParameter<P>(string, P)
PivotingSolver<IMatrix<double>, IVector<double>, double>.ForwardSubstitute(IVector<double>)
PivotingSolver<IMatrix<double>, IVector<double>, double>.BackwardSubstitute(IVector<double>)
PivotingSolver<IMatrix<double>, IVector<double>, double>.ComputeDegenerateContribution(int)
PivotingSolver<IMatrix<double>, IVector<double>, double>.ForwardSubstituteTransposed(IVector<double>)
PivotingSolver<IMatrix<double>, IVector<double>, double>.BackwardSubstituteTransposed(IVector<double>)
PivotingSolver<IMatrix<double>, IVector<double>, double>.ComputeDegenerateContributionTransposed(int)
PivotingSolver<IMatrix<double>, IVector<double>, double>.Degeneracy
PivotingSolver<IMatrix<double>, IVector<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 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
PivotingSolver<IMatrix<double>, IVector<double>, double>.BackwardSubstitute(IVector<double>)

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

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

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
DenseLUSolver<double>.Eliminate(int, int)
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
PivotingSolver<IMatrix<double>, IVector<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.

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 solution is null.

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
PivotingSolver<IMatrix<double>, IVector<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.

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 solution is null.

AlgebraException

Thrown if the matrix is not yet factored.

ArgumentException

Thrown if the solution vector is not of size Size.

Implements

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

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