Represents a ComplexMatrix whose elements above or below the main diagonal are zero.

Namespace: Extreme.Mathematics.LinearAlgebra.Complex
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public NotInheritable Class ComplexTriangularMatrix _
	Inherits ComplexMatrix
C#
public sealed class ComplexTriangularMatrix : ComplexMatrix
C++
public ref class ComplexTriangularMatrix sealed : public ComplexMatrix

Methods

IconTypeDescription
Add(TransposeOperation, TransposeOperation, DoubleComplex, ComplexMatrix)
Adds a multiple of a ComplexMatrix to this ComplexMatrix and returns the result.
AddProductToVector(DoubleComplex, ComplexVector, TransposeOperation, DoubleComplex, ComplexGeneralVector)
Multiplies a ComplexVector by this ComplexMatrix and stores the result in a second ComplexVector.
Clone()
Constructs a deep copy of this ComplexMatrix.
CloneData()
Gives this instance its own copy of its elements.
CloneData(MatrixElementOrder)
Gives this instance its own copy of its elements.
Conjugate()
Returns the conjugate transpose of this instance.
ConjugateTranspose()
Returns the conjugate transpose of this instance.
CopyTo(ComplexMatrix)
Copies the components of this ComplexMatrix to another matrix.
Equals(Object)
Determines whether the specified Object is equal to the current ComplexMatrix.
EstimateConditionNumber()
Calculates an estimate for the condition number of this ComplexTriangularMatrix.
static memberExtractLowerTriangle(ComplexGeneralMatrix, Int32, Int32, MatrixDiagonalMode)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexGeneralMatrix.
static memberExtractLowerTriangle(ComplexGeneralMatrix, MatrixDiagonalMode)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexGeneralMatrix.
static memberExtractLowerTriangle(ComplexGeneralMatrix)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexGeneralMatrix.
static memberExtractLowerTriangle(ComplexHermitianMatrix)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexHermitianMatrix.
static memberExtractLowerTriangle(ComplexHermitianMatrix, MatrixDiagonalMode)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexHermitianMatrix.
static memberExtractUpperTriangle(ComplexGeneralMatrix)
Constructs a ComplexTriangularMatrix whose elements are contained in the triangleMode triangular portion of a ComplexGeneralMatrix.
static memberExtractUpperTriangle(ComplexGeneralMatrix, MatrixDiagonalMode)
Constructs a ComplexTriangularMatrix whose elements are contained in the upper triangular portion of a ComplexGeneralMatrix.
static memberExtractUpperTriangle(ComplexGeneralMatrix, Int32, Int32, MatrixDiagonalMode)
Constructs a ComplexTriangularMatrix whose elements are contained in the upper triangular portion of a ComplexGeneralMatrix.
static memberExtractUpperTriangle(ComplexHermitianMatrix)
Constructs a ComplexTriangularMatrix whose elements are contained in the lower triangular portion of a ComplexHermitianMatrix.
static memberExtractUpperTriangle(ComplexHermitianMatrix, MatrixDiagonalMode)
Constructs an upper ComplexTriangularMatrix whose elements are contained in the upper triangular portion of a ComplexHermitianMatrix.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
FrobeniusNorm()
Returns the Frobenius norm of this ComplexMatrix.
GetColumn(Int32, Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32)
Returns a column ComplexVector for this instance that points at the specified column.
GetColumn(Int32, Int32, Int32)
Returns a column ComplexVector for this instance starting at the specified column and row and of the specified length.
GetColumn(Int32, Range)
Returns a column ComplexVector 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 ComplexMatrix.
GetComponents()
Gets the components of the ComplexVector.
GetComponents(MatrixElementOrder)
Gets the components of the ComplexVector.
GetDeterminant()
Calculates the determinant of this ComplexTriangularMatrix.
GetDiagonal(Int32)
Gets a ComplexVector view of the specified diagonal of this instance.
GetHashCode()
Returns the hash code for this instance.
GetImaginaryPart()
Returns a real matrix containing the imaginary components of the matrix.
GetInverse()
Calculates the inverse matrix.
GetObjectData(SerializationInfo, StreamingContext)
Populates a SerializationInfo with the data needed to serialize the target object.
GetRealPart()
Returns a real matrix containing the real components of the matrix.
GetRow(Int32, Int32, Int32, Int32)
Returns a row ComplexVector for this instance starting at the specified row and column and of the specified length.
GetRow(Int32)
Returns a row ComplexVector for this instance that points at the specified row.
GetRow(Int32, Int32, Int32)
Returns a row ComplexVector for this instance over the specified range.
GetRow(Int32, Range)
Returns a row ComplexVector 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 ComplexMatrix.
GetSubmatrix(Range, Range, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Range, Range)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
GetSubmatrix(Int32, Int32, Int32, Int32, Int32, Int32, TransposeOperation)
Gets a ComplexMatrix that is a submatrix of this ComplexMatrix.
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 ComplexMatrix.
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 ComplexTriangularMatrix is singular.
MemberwiseClone()
Creates a shallow copy of the current Object.
Multiply(MatrixOperationSide, TransposeOperation, TransposeOperation, ComplexMatrix)
Multiplies this ComplexMatrix by another matrix and returns the result.
static memberMultiply(ComplexGeneralMatrix, ComplexTriangularMatrix)
Multiplies a ComplexGeneralMatrix by a ComplexTriangularMatrix.
OneNorm()
Returns the 1-norm of this ComplexMatrix.
Rank(Double)
Returns the numerical rank of a matrix using the specified tolerance.
SetValue(DoubleComplex, Int32, Int32)
Sets the matrix component at the specified position to the specified value.
ShallowCopy()
Makes a shallow copy of this ComplexMatrix.
Solve(ComplexGeneralVector, Boolean)
Solves a triangular system of equations that this ComplexTriangularMatrix represents.
Solve(ComplexGeneralMatrix, Boolean)
Solves a triangular system of equations that this ComplexTriangularMatrix represents.
Solve(ComplexVector)
Solves the system of linear equations for the specified right-hand side ComplexVector.
Solve(ComplexMatrix)
Solves the system of linear equations for the specified right-hand side ComplexMatrix.
ToGeneralMatrix()
Makes a copy of this instance and returns it as a ComplexGeneralMatrix.
ToString()
Returns a String representation of this ComplexMatrix.
ToString(String)
Returns a String representation of this ComplexMatrix.
ToString(String, IFormatProvider)
Returns a String representation of this ComplexMatrix.
Trace()
Gets the sum of the diagonal elements of this ComplexMatrix.
Transpose()
Returns the transpose of this instance.

Constructors

Properties

IconTypeDescription
ColumnCount
Gets the number of columns in the ComplexMatrix.
Columns
Gets the ComplexColumnCollection for this instance.
DiagonalMode
Gets a value that indicates whether the diagonal elements of this ComplexTriangularMatrix 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 ComplexMatrix.
Item(Int32, Range)
Gets or sets the components of a row of this ComplexMatrix.
Item(Range, Range)
Gets or sets the components of a submatrix of this ComplexMatrix.
Item(Range, Int32)
Gets or sets the components of a column of this ComplexMatrix.
RowCount
Gets the number of rows in the ComplexMatrix.
Rows
Gets the ComplexRowCollection for this instance.
TriangleMode
Gets a value that indicates whether a ComplexTriangularMatrix is upper or lower triangular.

Remarks

Use the ComplexTriangularMatrix class to represent dense matrices whose elements above or below the diagonal are zero. The name is derived from the shape of the non-zero elements, which form a triangle. However, this class also represents rectangular matrices, whose non-zero elements may form a trapezoid.

A ComplexTriangularMatrix 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 ComplexTriangularMatrix are stored in a one-dimensional array of DoubleComplex 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 ComplexGeneralMatrix using one of the ExtractLowerTriangle(ComplexGeneralMatrix, Int32, Int32, MatrixDiagonalMode) or ExtractUpperTriangle(ComplexGeneralMatrix) methods.

The rows and column vectors of a triangular matrix are of type ComplexBandVector.

The ComplexTriangularMatrix 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.

ComplexTriangularMatrix objects are used as properties of many matrix decompositions. Both factors of the ComplexLUDecomposition are triangular. So is at least one factor of the ComplexCholeskyDecomposition and the ComplexQRDecomposition.

Inheritance Hierarchy

See Also