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.Generic.LinearAlgebra.Implementation
    • GenericBlas(T) Class
    • GenericLapack(T) Class
    • GenericSparseLinearAlgebraOperations(T) Class
    • ManagedArrayFunctions(T) Class
  • GenericBlas(T) Class
    • GenericBlas(T) Constructor
    • Properties
    • Methods
  • Methods
    • AbsoluteMaxIndex Method Overloads
    • ApplyModifiedGivensRotation Method
    • BandHermitianMultiplyAndAddInPlace Method
    • BandMultiplyAndAddInPlace Method Overloads
    • BandSymmetricMultiplyAndAddInPlace Method
    • BandTriangularMultiplyInPlace Method Overloads
    • BandTriangularSolveInPlace Method Overloads
    • ConjugateDotProduct Method
    • ConjugateRankUpdate Method
    • Copy Method Overloads
    • CreateGivensRotation Method Overloads
    • CreateModifiedGivensRotation Method
    • Dcabs1 Method
    • DotProduct Method Overloads
    • FullMatrixNorm Method Overloads
    • HermitianMatrixNorm Method
    • HermitianMultiplyAndAddInPlace Method Overloads
    • HermitianRankUpdate Method Overloads
    • MultiplyAndAddInPlace Method Overloads
    • MultiplyInPlace Method Overloads
    • OneNorm Method
    • PackedHermitianMultiplyAndAddInPlace Method
    • PackedHermitianRankUpdate Method Overloads
    • PackedSymmetricMultiplyAndAddInPlace Method
    • PackedSymmetricRankUpdate Method Overloads
    • PackedTriangularMultiplyInPlace Method Overloads
    • PackedTriangularSolveInPlace Method Overloads
    • RankUpdate Method Overloads
    • RealOneNorm Method
    • 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
  • TriangularMultiplyInPlace Method Overloads
    • TriangularMultiplyInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D(Complex(T)), ArraySlice(Complex(T)))
    • TriangularMultiplyInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D(T), ArraySlice(T))
    • TriangularMultiplyInPlace Method (MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, Complex(T), Array2D(Complex(T)), Array2D(Complex(T)))
    • TriangularMultiplyInPlace Method (MatrixOperationSide, MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Int32, T, Array2D(T), Array2D(T))
  • TriangularMultiplyInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2D(T), ArraySlice(T))
GenericBlasTTriangularMultiplyInPlace Method (MatrixTriangle, TransposeOperation, MatrixDiagonal, Int32, Array2DT, ArraySliceT)Extreme Optimization Numerical Libraries for .NET Professional

Performs one of the matrix-vector operations x := A*x, or x := AT*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

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

C#
VB
C++
F#
Copy
public override void TriangularMultiplyInPlace(
	MatrixTriangle uplo,
	TransposeOperation trans,
	MatrixDiagonal diag,
	int n,
	Array2D<T> a,
	ArraySlice<T> x
)
Public Overrides Sub TriangularMultiplyInPlace ( 
	uplo As MatrixTriangle,
	trans As TransposeOperation,
	diag As MatrixDiagonal,
	n As Integer,
	a As Array2D(Of T),
	x As ArraySlice(Of T)
)
public:
virtual void TriangularMultiplyInPlace(
	MatrixTriangle uplo, 
	TransposeOperation trans, 
	MatrixDiagonal diag, 
	int n, 
	Array2D<T> a, 
	ArraySlice<T> x
) override
abstract TriangularMultiplyInPlace : 
        uplo : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        a : Array2D<'T> * 
        x : ArraySlice<'T> -> unit 
override TriangularMultiplyInPlace : 
        uplo : MatrixTriangle * 
        trans : TransposeOperation * 
        diag : MatrixDiagonal * 
        n : int * 
        a : Array2D<'T> * 
        x : ArraySlice<'T> -> unit 

Parameters

uplo
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 operation to be performed as
             follows:
                TRANS = 'N' or 'n'   x := A*x.
                TRANS = 'T' or 't'   x := AT*x.
                TRANS = 'C' or 'c'   x := AT*x.
            
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.
            
a
Type: Extreme.CollectionsArray2DT
            A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
             Before entry with  UPLO = 'U' or 'u', the leading n by n
             upper triangular part of the array A must contain the upper
             triangular matrix and the strictly lower triangular part of
             A is not referenced.
             Before entry with UPLO = 'L' or 'l', the leading n by n
             lower triangular part of the array A must contain the lower
             triangular matrix and the strictly upper triangular part of
             A is not referenced.
             Note that when  DIAG = 'U' or 'u', the diagonal elements of
             A are not referenced either, 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
             max( 1, n ).
            
x
Type: Extreme.CollectionsArraySliceT
            X is DOUBLE PRECISION array of dimension at least
             ( 1 + ( n - 1 )*abs( INCX ) ).
             Before entry, the incremented array X must contain the n
             element vector x. On exit, X is overwritten with the
             tranformed vector x.
            
             On entry, INCX specifies the increment for the elements of
             X. INCX must not be zero.
            

Implements

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

Further Details:

            Level 2 LinearAlgebra routine.
            The vector and matrix arguments are not referenced when N = 0, or M = 0
            -- Written on 22-October-1986.
               Jack Dongarra, Argonne National Lab.
               Jeremy Du Croz, Nag Central Office.
               Sven Hammarling, Nag Central Office.
               Richard Hanson, Sandia National Labs.
            

Authors: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Date: November 2011

Version Information

Numerical Libraries

Supported in: 5.x
See Also

Reference

GenericBlasT Class
TriangularMultiplyInPlace Overload
Extreme.Mathematics.Generic.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.