Assembly: Extreme.Numerics (Extreme.Numerics)
Syntax
| Visual Basic (Declaration) |
|---|
Public NotInheritable Class TriangularMatrix _ Inherits Matrix _ Implements ISerializable, IDoubleStorage |
| C# |
|---|
public sealed class TriangularMatrix : Matrix, ISerializable, IDoubleStorage |
| C++ |
|---|
public ref class TriangularMatrix sealed : public Matrix, ISerializable, IDoubleStorage |
Methods
| Icon | Type | Description |
|---|---|---|
| Add(TransposeOperation, TransposeOperation, Double, Matrix) | ||
| AddProductToVector(Double, Vector, TransposeOperation, Double, GeneralVector) | ||
| ApplyToColumns(MultivariateRealFunction) |
Applies a function to each column in a matrix and returns the result as a vector.
| |
| ApplyToRows(MultivariateRealFunction) |
Applies a function to each column in a matrix and returns the result as a vector.
| |
| Clone() |
Constructs a deep copy of this Matrix.
| |
| CloneData() |
Gives this instance its own copy of its elements.
| |
| CloneData(MatrixElementOrder) |
Gives this instance its own copy of its elements.
| |
| ComponentwiseDivide(Matrix) |
Divides the components of this instance by the corresponding
components of another matrix.
| |
| ComponentwiseMultiply(Matrix) |
Multiplies the components of this instance by the corresponding
components of another matrix.
| |
| CopyTo(Matrix) |
Copies the components of this Matrix
to another matrix.
| |
| Equals(Object) | ||
| EstimateConditionNumber() |
Calculates an estimate for the condition
number of this TriangularMatrix.
| |
| ExtractLowerTriangle(GeneralMatrix, Int32, Int32, MatrixDiagonalMode) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a GeneralMatrix.
| |
| ExtractLowerTriangle(GeneralMatrix, MatrixDiagonalMode) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a GeneralMatrix.
| |
| ExtractLowerTriangle(GeneralMatrix) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a GeneralMatrix.
| |
| ExtractLowerTriangle(SymmetricMatrix) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a SymmetricMatrix.
| |
| ExtractLowerTriangle(SymmetricMatrix, MatrixDiagonalMode) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a SymmetricMatrix.
| |
| ExtractUpperTriangle(GeneralMatrix) |
Constructs a TriangularMatrix whose
elements are contained in the triangleMode triangular portion
of a GeneralMatrix.
| |
| ExtractUpperTriangle(GeneralMatrix, MatrixDiagonalMode) |
Constructs a TriangularMatrix whose
elements are contained in the upper triangular portion
of a GeneralMatrix.
| |
| ExtractUpperTriangle(GeneralMatrix, Int32, Int32, MatrixDiagonalMode) |
Constructs a TriangularMatrix whose
elements are contained in the upper triangular portion
of a GeneralMatrix.
| |
| ExtractUpperTriangle(SymmetricMatrix) |
Constructs a TriangularMatrix whose
elements are contained in the lower triangular portion
of a SymmetricMatrix.
| |
| ExtractUpperTriangle(SymmetricMatrix, MatrixDiagonalMode) |
Constructs an upper TriangularMatrix whose
elements are contained in the upper triangular portion
of a SymmetricMatrix.
| |
| Finalize() | ||
| FrobeniusNorm() |
Returns the Frobenius norm of this Matrix.
| |
| GetColumn(Int32, Int32, Int32, Int32) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumn(Int32) |
Returns a column Vector for this instance
that points at the specified column.
| |
| GetColumn(Int32, Int32, Int32) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumn(Int32, Range) |
Returns a column Vector for this instance
starting at the specified column and row and of the
specified length.
| |
| GetColumnEnumerator() |
Gets an IEnumerator than can be used to enumerate
the columns of this Matrix.
| |
| GetColumnSums() |
Returns the sums of the components of each column of the matrix.
| |
| GetComponents() |
Gets the components of the Vector.
| |
| GetComponents(MatrixElementOrder) |
Gets the components of the Vector.
| |
| GetConditionNumber() |
Calculates the condition
number of this Matrix.
| |
| GetDeterminant() |
Calculates the determinant of this TriangularMatrix.
| |
| GetDiagonal(Int32) |
Gets a Vector view of the specified diagonal
of this instance.
| |
| GetHashCode() |
Returns the hash code for this instance.
| |
| GetInverse() |
Calculates the inverse matrix.
| |
| GetObjectData(SerializationInfo, StreamingContext) |
Populates a SerializationInfo with the data
needed to serialize the target object.
| |
| GetPseudoInverse() |
Calculates the Moore-Penrose pseudo-inverse of this Matrix.
| |
| GetRow(Int32, Int32, Int32, Int32) |
Returns a row Vector for this instance
starting at the specified row and column and of the
specified length.
| |
| GetRow(Int32) |
Returns a row Vector for this instance
that points at the specified row.
| |
| GetRow(Int32, Int32, Int32) |
Returns a row Vector for this instance
over the specified range.
| |
| GetRow(Int32, Range) |
Returns a row Vector for this instance
starting at the specified row and column and of the
specified length.
| |
| GetRowEnumerator() |
Returns an IEnumerator instance that allows you to
enumerate the rows of this Matrix.
| |
| GetRowSums() |
Returns the sums of the components of each row of the matrix.
| |
| GetSingularValues() |
Gets a vector containing the singular values of the matrix.
| |
| GetSubmatrix(Range, Range, TransposeOperation) | ||
| GetSubmatrix(Range, Range) | ||
| GetSubmatrix(Int32, Int32, Int32, Int32) | ||
| GetSubmatrix(Int32, Int32, Int32, Int32, Int32, Int32, TransposeOperation) | ||
| GetType() | Gets the Type of the current instance. | |
| GetValue(Int32, Int32) |
Gets the matrix component at the specified position.
| |
| InfinityNorm() |
Returns the infinity norm of this Matrix.
| |
| IsComponentWritable(Int32, Int32) |
Returns a value that indicates whether the value of the component at
the specified row and column can be changed.
| |
| IsSingular() |
Gets a value indicating whether the TriangularMatrix
is singular.
| |
| MemberwiseClone() | Creates a shallow copy of the current Object. | |
| Multiply(Double) |
Multiplies this Matrix by a scalar factor.
| |
| Multiply(MatrixOperationSide, TransposeOperation, TransposeOperation, Matrix) |
Multiplies this Matrix by another matrix and returns
the result.
| |
| Multiply(GeneralMatrix, TriangularMatrix) |
Multiplies a GeneralMatrix by a TriangularMatrix.
| |
| NormInternal(Char) |
Calculates a matrix norm.
| |
| OneNorm() |
Returns the 1-norm of this Matrix.
| |
| Rank(Double) |
Returns the numerical rank of a matrix using the specified tolerance.
| |
| ScaleColumns(Vector) |
Scales the columns of the matrix by the values specified by a vector.
| |
| ScaleRows(Vector) |
Scales the rows of the matrix by the values specified by a vector.
| |
| SetToZero() |
Sets all elements of the matrix to zero.
| |
| SetValue(Double, Int32, Int32) |
Sets the matrix component at the specified position to the specified value.
| |
| ShallowCopy() |
Makes a shallow copy of this Matrix.
| |
| Solve(GeneralVector, Boolean) |
Solves a triangular system of equations that this
TriangularMatrix represents.
| |
| Solve(GeneralMatrix, Boolean) |
Solves a triangular system of equations that this
TriangularMatrix represents.
| |
| Solve(Vector) |
Solves the system of linear equations for the specified
right-hand side Vector.
| |
| Solve(Matrix) |
Solves the system of linear equations for the specified
right-hand side Matrix.
| |
| ToGeneralMatrix() |
Makes a copy of this instance and returns it as a
GeneralMatrix.
| |
| ToString() | ||
| ToString(String) | ||
| ToString(String, IFormatProvider) | ||
| Trace() |
Gets the sum of the diagonal elements of this
Matrix.
| |
| Transpose() |
Returns the transpose of this instance.
| |
| TwoNorm() |
Returns the two-norm of this Matrix.
| |
| UnscaleColumns(Vector) |
Scales the columns of the matrix by the inverse of the values specified by a vector.
| |
| UnscaleRows(Vector) |
Scales the rows of the matrix by the inverse of the values specified by a vector.
|
Constructors
| Icon | Type | Description |
|---|---|---|
| TriangularMatrixNew(MatrixTriangleMode, Int32) |
Constructs a new TriangularMatrix.
| |
| TriangularMatrixNew(MatrixTriangleMode, Int32, Int32) |
Constructs a new TriangularMatrix.
| |
| TriangularMatrixNew(MatrixTriangleMode, Int32, Int32, MatrixDiagonalMode) |
Constructs a new TriangularMatrix.
| |
| TriangularMatrixNew(MatrixTriangleMode, Int32, Int32, Double[](), MatrixElementOrder) |
Constructs a new TriangularMatrix.
| |
| TriangularMatrixNew(MatrixTriangleMode, Int32, Double[]()) |
Constructs a new TriangularMatrix.
| |
| TriangularMatrixNew(MatrixTriangleMode, Int32, Int32, Double[](), MatrixDiagonalMode, MatrixElementOrder, Boolean) |
Constructs a new TriangularMatrix.
|
Properties
| Icon | Type | Description |
|---|---|---|
| ColumnCount |
Gets the number of columns in the Matrix.
| |
| Columns |
Gets the ColumnCollection for this instance.
| |
| DiagonalMode |
Gets a value that indicates whether the diagonal elements of
this TriangularMatrix are all equal to 1.
| |
| ElementOrder |
Gets a value indicating the order in which the matrix
elements are stored.
| |
| IsLowerTriangular |
Gets a value indicating whether this
instance is lower triangular.
| |
| IsUnitDiagonal |
Gets a value indicating whether all diagonal elements
of this instance are equal to 1.
| |
| IsUpperTriangular |
Gets a value indicating whether this
instance is triangleMode triangular.
| |
| Item(Int32, Int32) |
Gets or sets the specified element in this
Matrix.
| |
| Item(Int32, Range) |
Gets or sets the components of a row of this Matrix.
| |
| Item(Range, Range) |
Gets or sets the components of a submatrix of this Matrix.
| |
| Item(Range, Int32) |
Gets or sets the components of a column of this Matrix.
| |
| RowCount |
Gets the number of rows in the Matrix.
| |
| Rows |
Gets the RowCollection for this instance.
| |
| TriangleMode |
Gets a value that indicates whether a TriangularMatrix
is upper or lower triangular.
|
Remarks
A TriangularMatrix can be either upper or lower-triangular, depending on which components are non-zero. This property is available as the TriangleMode property. It is of type MatrixTriangleMode, and must be specified at construction.
Sometimes, the components on the diagonal are all equal to one. In this case, the matrix is said to be unit-diagonal, and the IsUnitDiagonal property will be true. Once again, this must be specified at the time the matrix is constructed.
Only the non-zero components of a triangular matrix can be modified. The diagonal components of a unit-diagonal matrix can't be modified. An attempt to do so will result in an ComponentReadOnlyException. You can verify if a component can be modified by calling the IsComponentWritable(Int32, Int32) method.
The components of a TriangularMatrix are stored in a one-dimensional array of Double values. By default, components that are adjacent in a column of the matrix are adjacent in the storage array. The components are said to be stored in column major order. It is also possible to have elements stored in row major order.
Triangular matrices can be constructed from scratch, or they can be derived or extracted from a GeneralMatrix using one of the ExtractLowerTriangle(GeneralMatrix, Int32, Int32, MatrixDiagonalMode) or ExtractUpperTriangle(GeneralMatrix) methods.
The rows and column vectors of a triangular matrix are of type BandVector.
The TriangularMatrix class implements algorithms using the triangular matrix BLAS and LAPACK routines. These routines assume matrix components are stored in column major order. However, any necessary conversions are performed transparantly. No additional work is needed. In some cases there might be a small performance penalty.
TriangularMatrix objects are used as properties of many matrix decompositions. Both factors of the LUDecomposition are triangular. So is at least one factor of the CholeskyDecomposition and the QRDecomposition.
Inheritance Hierarchy
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Matrix
Extreme.Mathematics.LinearAlgebra.TriangularMatrix