Class SparseLUSolver<T>.ReorderedMatrix
A sparse matrix that keeps both the matrix and right hand side vector synchronized for our solver.
Inherited Members
Namespace: SpiceSharp.Algebra.Solve
Assembly: SpiceSharp.dll
Syntax
protected class SparseLUSolver<T>.ReorderedMatrix : ISparseMatrix<T>, IMatrix<T>
Constructors
ReorderedMatrix(SparseLUSolver<T>)
Initializes a new instance of the SparseLUSolver<T>.ReorderedMatrix class.
Declaration
public ReorderedMatrix(SparseLUSolver<T> parent)
Parameters
Type | Name | Description |
---|---|---|
SparseLUSolver<T> | parent | The parent. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Properties
ElementCount
Gets the number of elements in the matrix.
Declaration
public int ElementCount { get; }
Property Value
Type | Description |
---|---|
int | The element count. |
this[MatrixLocation]
Gets or sets the value at the specified location.
Declaration
public T this[MatrixLocation location] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | location | The location. |
Property Value
Type | Description |
---|---|
T | The value. |
this[int, int]
Gets or sets the value at the specified row and column.
Declaration
public T this[int row, int column] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
int | row | The row index. |
int | column | The column index. |
Property Value
Type | Description |
---|---|
T | The value. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
Size
Gets the size of the matrix.
Declaration
public int Size { get; }
Property Value
Type | Description |
---|---|
int | The matrix size. |
Methods
Clear()
Clears the matrix of any elements. The size of the matrix becomes 0.
Declaration
public void Clear()
FindDiagonalElement(int)
Finds the ISparseMatrixElement<T> on the diagonal.
Declaration
public ISparseMatrixElement<T> FindDiagonalElement(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index. |
Returns
Type | Description |
---|---|
ISparseMatrixElement<T> | The matrix element if it exists; otherwise |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
FindElement(MatrixLocation)
Finds a pointer to the matrix element at the specified row and column. If
the element doesn't exist, null
is returned.
Declaration
public Element<T> FindElement(MatrixLocation location)
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | location | The matrix location. |
Returns
Type | Description |
---|---|
Element<T> | The matrix element if it exists; otherwise |
GetElement(MatrixLocation)
Gets a pointer to the matrix element at the specified row and column. If the element doesn't exist, it is created.
Declaration
public Element<T> GetElement(MatrixLocation location)
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | location | The matrix location. |
Returns
Type | Description |
---|---|
Element<T> | The matrix element. |
GetFirstInColumn(int)
Gets the first non-default ISparseMatrixElement<T> in the specified column.
Declaration
public ISparseMatrixElement<T> GetFirstInColumn(int column)
Parameters
Type | Name | Description |
---|---|---|
int | column | The column index. |
Returns
Type | Description |
---|---|
ISparseMatrixElement<T> | The matrix element. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
GetFirstInRow(int)
Gets the first non-default ISparseMatrixElement<T> in the specified row.
Declaration
public ISparseMatrixElement<T> GetFirstInRow(int row)
Parameters
Type | Name | Description |
---|---|---|
int | row | The row index. |
Returns
Type | Description |
---|---|
ISparseMatrixElement<T> | The matrix element. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
GetLastInColumn(int)
Gets the last non-default ISparseMatrixElement<T> in the specified column.
Declaration
public ISparseMatrixElement<T> GetLastInColumn(int column)
Parameters
Type | Name | Description |
---|---|---|
int | column | The column index. |
Returns
Type | Description |
---|---|
ISparseMatrixElement<T> | The matrix element. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
GetLastInRow(int)
Gets the last non-default ISparseMatrixElement<T> in the specified row.
Declaration
public ISparseMatrixElement<T> GetLastInRow(int row)
Parameters
Type | Name | Description |
---|---|---|
int | row | The row index. |
Returns
Type | Description |
---|---|
ISparseMatrixElement<T> | The matrix element. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
RemoveElement(MatrixLocation)
Removes a matrix element at the specified row and column. If the element
doesn't exist, this method returns false
.
Declaration
public bool RemoveElement(MatrixLocation location)
Parameters
Type | Name | Description |
---|---|---|
MatrixLocation | location | The location. |
Returns
Type | Description |
---|---|
bool |
|
Reset()
Resets all elements in the matrix to their default value.
Declaration
public void Reset()
SwapColumns(int, int)
Swaps two columns in the matrix.
Declaration
public void SwapColumns(int column1, int column2)
Parameters
Type | Name | Description |
---|---|---|
int | column1 | The first column index. |
int | column2 | The second column index. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
SwapRows(int, int)
Swaps two rows in the matrix.
Declaration
public void SwapRows(int row1, int row2)
Parameters
Type | Name | Description |
---|---|---|
int | row1 | The first row index. |
int | row2 | The second row index. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if |
ToString()
Converts to string.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | A string that represents this instance. |