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
  • ManagedLinearAlgebraOperationsOfSingle Class
    • ManagedLinearAlgebraOperationsOfSingle Constructor
    • Properties
    • Methods
  • Methods
    • AbsoluteMaxIndex Method Overloads
    • ApplyModifiedGivensRotation Method
    • BandMultiplyAndAddInPlace Method Overloads
    • BandSymmetricMultiplyAndAddInPlace Method
    • BandTriangularMultiplyInPlace Method Overloads
    • BandTriangularSolveInPlace Method Overloads
    • ComplexOneNorm Method
    • ConjugateDotProduct Method Overloads
    • ConjugateRankUpdate Method Overloads
    • Copy Method Overloads
    • CreateGivensRotation Method Overloads
    • CreateModifiedGivensRotation Method
    • DotProduct Method Overloads
    • FullMatrixNorm Method Overloads
    • HermitianMatrixNorm Method Overloads
    • HermitianMultiplyAndAddInPlace Method Overloads
    • HermitianRankUpdate Method Overloads
    • MultiplyAndAddInPlace Method Overloads
    • MultiplyInPlace Method Overloads
    • OneNorm Method
    • RankUpdate Method Overloads
    • RealOneNorm Method Overloads
    • Rotate Method Overloads
    • Swap Method Overloads
    • SymmetricMatrixNorm Method Overloads
    • SymmetricMultiplyAndAddInPlace Method Overloads
    • SymmetricRankUpdate Method Overloads
    • TriangularMatrixNorm Method Overloads
    • TriangularMultiplyInPlace Method Overloads
    • TriangularSolveInPlace Method Overloads
    • TwoNorm Method Overloads
  • BandTriangularSolveInPlace Method Overloads
    • BandTriangularSolveInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(Complex(Single)), ArraySlice(Complex(Single)))
    • BandTriangularSolveInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(Single), ArraySlice(Single))
  • BandTriangularSolveInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2D(Complex(Single)), ArraySlice(Complex(Single)))
ManagedLinearAlgebraOperationsOfSingleBandTriangularSolveInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DComplexSingle, ArraySliceComplexSingle)Extreme Optimization Numerical Libraries for .NET Professional

Solves one of the systems of equations A*x = b, or AT*x = b, or AH*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

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

C#
VB
C++
F#
Copy
public override void BandTriangularSolveInPlace(
	MatrixTriangle storedTriangle,
	TransposeOperation trans,
	MatrixDiagonal diag,
	int n,
	int k,
	Array2D<Complex<float>> a,
	ArraySlice<Complex<float>> x
)
Public Overrides Sub BandTriangularSolveInPlace ( 
	storedTriangle As MatrixTriangle,
	trans As TransposeOperation,
	diag As MatrixDiagonal,
	n As Integer,
	k As Integer,
	a As Array2D(Of Complex(Of Single)),
	x As ArraySlice(Of Complex(Of Single))
)
public:
virtual void BandTriangularSolveInPlace(
	MatrixTriangle storedTriangle, 
	TransposeOperation trans, 
	MatrixDiagonal diag, 
	int n, 
	int k, 
	Array2D<Complex<float>> a, 
	ArraySlice<Complex<float>> x
) override
abstract BandTriangularSolveInPlace : 
        storedTriangle : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        k : int * 
        a : Array2D<Complex<float32>> * 
        x : ArraySlice<Complex<float32>> -> unit 
override BandTriangularSolveInPlace : 
        storedTriangle : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        k : int * 
        a : Array2D<Complex<float32>> * 
        x : ArraySlice<Complex<float32>> -> unit 

Parameters

storedTriangle
Type: Extreme.MathematicsMatrixTriangle
             On entry, UPLO specifies whether the matrix is an upper or
             lower triangular matrix as follows:
                UPLO = 'U' or 'u'   A is an upper triangular matrix.
                UPLO = 'L' or 'l'   A is a lower triangular matrix.
            
trans
Type: Extreme.MathematicsTransposeOperation
             On entry, TRANS specifies the equations to be solved as
             follows:
                TRANS = 'N' or 'n'   A*x = b.
                TRANS = 'T' or 't'   AT*x = b.
                TRANS = 'C' or 'c'   AH*x = b.
            
diag
Type: Extreme.MathematicsMatrixDiagonal
             On entry, DIAG specifies whether or not A is unit
             triangular as follows:
                DIAG = 'U' or 'u'   A is assumed to be unit triangular.
                DIAG = 'N' or 'n'   A is not assumed to be unit
                                    triangular.
            
n
Type: SystemInt32
             On entry, N specifies the order of the matrix A.
             N must be at least zero.
            
k
Type: SystemInt32
             On entry with UPLO = 'U' or 'u', K specifies the number of
             super-diagonals of the matrix A.
             On entry with UPLO = 'L' or 'l', K specifies the number of
             sub-diagonals of the matrix A.
             K must satisfy  0 .le. K.
            
a
Type: Extreme.CollectionsArray2DComplexSingle
            A is COMPLEX*16 array of DIMENSION ( LDA, n ).
             Before entry with UPLO = 'U' or 'u', the leading ( k + 1 )
             by n part of the array A must contain the upper triangular
             band part of the matrix of coefficients, supplied column by
             column, with the leading diagonal of the matrix in row
             ( k + 1 ) of the array, the first super-diagonal starting at
             position 2 in row k, and so on. The top left k by k triangle
             of the array A is not referenced.
             The following program segment will transfer an upper
             triangular band matrix from conventional full matrix storage
             to band storage:
                   DO 20, J = 1, N
                      M = K + 1 - J
                      DO 10, I = MAX( 1, J - K ), J
                         A( M + I, J ) = matrix( I, J )
                10    CONTINUE
                20 CONTINUE
             Before entry with UPLO = 'L' or 'l', the leading ( k + 1 )
             by n part of the array A must contain the lower triangular
             band part of the matrix of coefficients, supplied column by
             column, with the leading diagonal of the matrix in row 1 of
             the array, the first sub-diagonal starting at position 1 in
             row 2, and so on. The bottom right k by k triangle of the
             array A is not referenced.
             The following program segment will transfer a lower
             triangular band matrix from conventional full matrix storage
             to band storage:
                   DO 20, J = 1, N
                      M = 1 - J
                      DO 10, I = J, MIN( N, J + K )
                         A( M + I, J ) = matrix( I, J )
                10    CONTINUE
                20 CONTINUE
             Note that when DIAG = 'U' or 'u' the elements of the array A
             corresponding to the diagonal elements of the matrix are not
             referenced, but are assumed to be unity.
            
             On entry, LDA specifies the first dimension of A as declared
             in the calling (sub) program. LDA must be at least
             ( k + 1 ).
            
x
Type: Extreme.CollectionsArraySliceComplexSingle
            X is COMPLEX*16 array of dimension at least
             ( 1 + ( n - 1 )*abs( INCX ) ).
             Before entry, the incremented array X must contain the n
             element right-hand side vector b. On exit, X is overwritten
             with the solution vector x.
            
             On entry, INCX specifies the increment for the elements of
             X. INCX must not be zero.
            

Implements

ILinearAlgebraOperationsTBandTriangularSolveInPlace(MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Array2DT, ArraySliceT)
Remarks

            No test for singularity or near-singularity is included in this
            routine. Such tests must be performed before calling this routine.
            

This method is based on the BLAS routine ZTBSV.

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

ManagedLinearAlgebraOperationsOfSingle Class
BandTriangularSolveInPlace 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.