Class LowerTriangularMatrix
Class for lower triangular matrices
Implements
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Math
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[DataContract]
public class LowerTriangularMatrix : Matrix, IList<double>, ICollection<double>, IReadOnlyList<double>, IReadOnlyCollection<double>, IEnumerable<double>, IEnumerable, ICloneable, SettableTo<Matrix>, CanSetAllElementsTo<double>
  Constructors
LowerTriangularMatrix()
Default constructor just used for serialization.
Declaration
protected LowerTriangularMatrix()
  LowerTriangularMatrix(Double[,])
Constructs a matrix from data in a 2D array.
Declaration
public LowerTriangularMatrix(double[, ] data)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Double[,] | data | 2D array of elements.  | 
      
Remarks
The 2D array is copied into new storage. The size of the matrix is taken from the array.
LowerTriangularMatrix(Int32, Int32)
Constructs a zero matrix of the given dimensions.
Declaration
public LowerTriangularMatrix(int nRows, int nCols)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | nRows | Number of rows >= 0.  | 
      
| Int32 | nCols | Number of columns >= 0.  | 
      
LowerTriangularMatrix(Int32, Int32, Double[])
Constructs a matrix by referencing an array.
Declaration
public LowerTriangularMatrix(int nRows, int nCols, double[] data)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | nRows | Number of rows.  | 
      
| Int32 | nCols | Number of columns.  | 
      
| Double[] | data | Storage for the matrix elements.  | 
      
Methods
CheckLowerTriangular()
Checks that this instance is lower triangular
Declaration
[Conditional("DEBUG")]
public void CheckLowerTriangular()
  Clone()
Creates a full clone of this instance (including the data)
Declaration
public override object Clone()
  Returns
| Type | Description | 
|---|---|
| Object | 
Overrides
Determinant()
Returns the determinant of this lower-triangular matrix.
Declaration
public double Determinant()
  Returns
| Type | Description | 
|---|---|
| Double | The determinant of this.  | 
      
Inverse()
Returns the inverse of this lower triangular matrix
Declaration
public LowerTriangularMatrix Inverse()
  Returns
| Type | Description | 
|---|---|
| LowerTriangularMatrix | 
LogDeterminant(Boolean)
Returns the natural logarithm of the determinant of a lower-triangular matrix.
Declaration
public double LogDeterminant(bool ignoreInfinity = false)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Boolean | ignoreInfinity | If true, +infinity on the diagonal is treated as 1.  | 
      
Returns
| Type | Description | 
|---|---|
| Double | The log-determinant of this.  | 
      
ProdDiag()
Returns the product of diagonal elements of this lower triangular matrix
Declaration
public double ProdDiag()
  Returns
| Type | Description | 
|---|---|
| Double | 
  | 
      
SetToCholesky(Matrix)
Gets the Cholesky decomposition L, such that L*L' = A.
Declaration
public bool SetToCholesky(Matrix A)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Matrix | A | A symmetric matrix to decompose.  | 
      
Returns
| Type | Description | 
|---|---|
| Boolean | True if   | 
      
Remarks
The decomposition is a lower triangular matrix L, returned in this.
A must be symmetric, but need not be positive definite.
If A is positive semidefinite,
then L will satisfy LL' = A.
Otherwise, L will only approximately satisfy LL' = A.
SetToInverse(LowerTriangularMatrix)
Modifies this to be the inverse of A.
Declaration
public void SetToInverse(LowerTriangularMatrix A)
  Parameters
| Type | Name | Description | 
|---|---|---|
| LowerTriangularMatrix | A | Can be the same object as   | 
      
TraceLn(Boolean)
Returns the sum of the logarithm of diagonal elements.
Declaration
public double TraceLn(bool ignoreInfinity = false)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Boolean | ignoreInfinity | If true, +infinity on the diagonal is treated as 1.  | 
      
Returns
| Type | Description | 
|---|---|
| Double | 
  | 
      
Transpose()
Returns the transpose of this lower triangular matrix
Declaration
public UpperTriangularMatrix Transpose()
  Returns
| Type | Description | 
|---|---|
| UpperTriangularMatrix |