Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.LinearAlgebra.Implementation
    • DecompositionOperations(T) Class
    • DecompositionOperations(TReal, TComplex) Class
    • GenericDecompositionOperations(T) Class
    • GenericLinearAlgebraOperations(T) Class
    • GenericSparseLinearAlgebraOperations(T) Class
    • IArrayFunctions(T, TShape, TArray) Interface
    • ILinearAlgebraOperations(T) Interface
    • ILinearAlgebraOperations(T, TVector, TMatrix) Interface
    • ISparseLinearAlgebraOperations(T) Interface
    • IVectorFunctions(T) Interface
    • LinearAlgebraOperations(T) Class
    • ManagedArrayFunctions Class
    • ManagedArrayFunctions(T) Class
    • ManagedArrayFunctionsOfSingle Class
    • ManagedLapack Class
    • ManagedLapackOfSingle Class
    • ManagedLinearAlgebraOperations Class
    • ManagedLinearAlgebraOperationsOfSingle Class
    • ManagedSparseLinearAlgebraOperations Class
    • ManagedSparseLinearAlgebraOperationsOfSingle Class
    • SparseLinearAlgebraOperations Class
    • SparseLinearAlgebraOperations(T) Class
    • SparseLinearAlgebraOperationsOfSingle Class
  • GenericDecompositionOperations(T) Class
    • Properties
    • Methods
  • Methods
    • BandCholeskyDecompose Method Overloads
    • BandCholeskyEstimateCondition Method Overloads
    • BandCholeskySolve Method Overloads
    • BandLUDecompose Method Overloads
    • BandLUEstimateCondition Method Overloads
    • BandLUSolve Method Overloads
    • BandTriangularSolve Method
    • CholeskyDecompose Method Overloads
    • CholeskyEstimateCondition Method Overloads
    • CholeskyInvert Method Overloads
    • CholeskySolve Method Overloads
    • EigenvalueDecompose Method Overloads
    • GeneralizedEigenvalueDecompose Method Overloads
    • GeneralizedSingularValueDecompose Method Overloads
    • HermitianDecompose Method
    • HermitianEigenvalueDecompose Method
    • HermitianEstimateCondition Method
    • HermitianGeneralizedEigenvalueDecompose Method
    • HermitianInvert Method
    • HermitianSolve Method
    • LQDecompose Method Overloads
    • LQOrthogonalMultiply Method
    • LQUnitaryMultiply Method
    • LUDecompose Method Overloads
    • LUEstimateCondition Method Overloads
    • LUInvert Method Overloads
    • LUSolve Method Overloads
    • QLDecompose Method Overloads
    • QLOrthogonalMultiply Method
    • QLUnitaryMultiply Method
    • QRDecompose Method Overloads
    • QROrthogonalMultiply Method
    • QRUnitaryMultiply Method
    • RQDecompose Method Overloads
    • RQOrthogonalMultiply Method
    • RQUnitaryMultiply Method
    • SingularValueDecompose Method Overloads
    • SymmetricDecompose Method
    • SymmetricEigenvalueDecompose Method
    • SymmetricEstimateCondition Method
    • SymmetricGeneralizedEigenvalueDecompose Method
    • SymmetricInvert Method
    • SymmetricSolve Method
    • TriangularEstimateCondition Method Overloads
    • TriangularInvert Method Overloads
    • TriangularSolve Method Overloads
  • TriangularSolve Method Overloads
    • TriangularSolve Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(Complex(T)), Array2D(Complex(T)), Int32)
    • TriangularSolve Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(T), Array2D(T), Int32)
  • TriangularSolve Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(T), Array2D(T), Int32)
GenericDecompositionOperationsTTriangularSolve Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DT, Array2DT, Int32)Extreme Optimization Numerical Libraries for .NET Professional

Solves a triangular system of the form A * X = B or AT * X = B, where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics.Generic.Net40 (in Extreme.Numerics.Generic.Net40.dll) Version: 6.0.16073.0 (6.0.16096.0)
Syntax

C#
VB
C++
F#
Copy
public override void TriangularSolve(
	MatrixTriangle storedTriangle,
	TransposeOperation trans,
	MatrixDiagonal diag,
	int n,
	int nrhs,
	Array2D<T> a,
	Array2D<T> b,
	out int info
)
Public Overrides Sub TriangularSolve ( 
	storedTriangle As MatrixTriangle,
	trans As TransposeOperation,
	diag As MatrixDiagonal,
	n As Integer,
	nrhs As Integer,
	a As Array2D(Of T),
	b As Array2D(Of T),
	<OutAttribute> ByRef info As Integer
)
public:
virtual void TriangularSolve(
	MatrixTriangle storedTriangle, 
	TransposeOperation trans, 
	MatrixDiagonal diag, 
	int n, 
	int nrhs, 
	Array2D<T> a, 
	Array2D<T> b, 
	[OutAttribute] int% info
) override
abstract TriangularSolve : 
        storedTriangle : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        nrhs : int * 
        a : Array2D<'T> * 
        b : Array2D<'T> * 
        info : int byref -> unit 
override TriangularSolve : 
        storedTriangle : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        nrhs : int * 
        a : Array2D<'T> * 
        b : Array2D<'T> * 
        info : int byref -> unit 

Parameters

storedTriangle
Type: Extreme.MathematicsMatrixTriangle
            = 'U':  A is upper triangular;
            = 'L':  A is lower triangular.
            
trans
Type: Extreme.MathematicsTransposeOperation
            Specifies the form of the system of equations:
            = 'N':  A * X = B  (No transpose)
            = 'T':  AT * X = B  (Transpose)
            = 'C':  AH * X = B  (Conjugate transpose = Transpose)
            
diag
Type: Extreme.MathematicsMatrixDiagonal
            = 'N':  A is non-unit triangular;
            = 'U':  A is unit triangular.
            
n
Type: SystemInt32
            The order of the matrix A.  N >= 0.
            
nrhs
Type: SystemInt32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
a
Type: Extreme.CollectionsArray2DT
            Dimension (LDA,N)
            The triangular matrix A.  If UPLO = 'U', the leading N-by-N
            upper triangular part of the array A contains the upper
            triangular matrix, and the strictly lower triangular part of
            A is not referenced.  If UPLO = 'L', the leading N-by-N lower
            triangular part of the array A contains the lower triangular
            matrix, and the strictly upper triangular part of A is not
            referenced.  If DIAG = 'U', the diagonal elements of A are
            also not referenced and are assumed to be 1.
            
            The leading dimension of the array A.  LDA >= max(1,N).
            
b
Type: Extreme.CollectionsArray2DT
            Dimension (LDB,NRHS)
            On entry, the right hand side matrix B.
            On exit, if info = 0, the solution matrix X.
            
            The leading dimension of the array B.  LDB >= max(1,N).
            
info
Type: SystemInt32
info is INTEGER
            = 0:  successful exit
            < 0: if info = -i, the i-th argument had an illegal value
            > 0: if info = i, the i-th diagonal element of A is zero,
                 indicating that the matrix is singular and the solutions
                 X have not been computed.
            
Remarks

            A check is made to verify that A is nonsingular.
            

This method corresponds to the LAPACK routine DTRTRS.

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

GenericDecompositionOperationsT Class
TriangularSolve Overload
Extreme.Mathematics.LinearAlgebra.Implementation Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.