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
  • ManagedLapackOfSingle 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
  • BandLUDecompose Method Overloads
    • BandLUDecompose Method (Int32, Int32, Int32, Int32, Array2D(Complex(Single)), Array1D(Int32), Int32)
    • BandLUDecompose Method (Int32, Int32, Int32, Int32, Array2D(Single), Array1D(Int32), Int32)
  • BandLUDecompose Method (Int32, Int32, Int32, Int32, Array2D(Single), Array1D(Int32), Int32)
ManagedLapackOfSingleBandLUDecompose Method (Int32, Int32, Int32, Int32, Array2DSingle, Array1DInt32, Int32)Extreme Optimization Numerical Libraries for .NET Professional

Computes an LU factorization of a real m-by-n band matrix A using partial pivoting with row interchanges.

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 BandLUDecompose(
	int m,
	int n,
	int kl,
	int ku,
	Array2D<float> ab,
	Array1D<int> ipiv,
	out int info
)
Public Overrides Sub BandLUDecompose ( 
	m As Integer,
	n As Integer,
	kl As Integer,
	ku As Integer,
	ab As Array2D(Of Single),
	ipiv As Array1D(Of Integer),
	<OutAttribute> ByRef info As Integer
)
public:
virtual void BandLUDecompose(
	int m, 
	int n, 
	int kl, 
	int ku, 
	Array2D<float> ab, 
	Array1D<int> ipiv, 
	[OutAttribute] int% info
) override
abstract BandLUDecompose : 
        m : int * 
        n : int * 
        kl : int * 
        ku : int * 
        ab : Array2D<float32> * 
        ipiv : Array1D<int> * 
        info : int byref -> unit 
override BandLUDecompose : 
        m : int * 
        n : int * 
        kl : int * 
        ku : int * 
        ab : Array2D<float32> * 
        ipiv : Array1D<int> * 
        info : int byref -> unit 

Parameters

m
Type: SystemInt32
            The number of rows of the matrix A.  M >= 0.
            
n
Type: SystemInt32
            The number of columns of the matrix A.  N >= 0.
            
kl
Type: SystemInt32
            The number of subdiagonals within the band of A.  KL >= 0.
            
ku
Type: SystemInt32
            The number of superdiagonals within the band of A.  KU >= 0.
            
ab
Type: Extreme.CollectionsArray2DSingle
            Dimension (LDAB,N)
            On entry, the matrix A in band storage, in rows KL+1 to
            2*KL+KU+1; rows 1 to KL of the array need not be set.
            The j-th column of A is stored in the j-th column of the
            array AB as follows:
            AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
            On exit, details of the factorization: U is stored as an
            upper triangular band matrix with KL+KU superdiagonals in
            rows 1 to KL+KU+1, and the multipliers used during the
            factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
            See below for further details.
            
            The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
            
ipiv
Type: Extreme.CollectionsArray1DInt32
            Dimension (min(M,N))
            The pivot indices; for 1 <= i <= min(M,N), row i of the
            matrix was interchanged with row IPIV(i).
            
info
Type: SystemInt32
            = 0: successful exit
            < 0: if INFO = -i, the i-th argument had an illegal value
            > 0: if INFO = +i, U(i,i) is exactly zero. The factorization
                 has been completed, but the factor U is exactly
                 singular, and division by zero will occur if it is used
                 to solve a system of equations.
            
Remarks

            This is the blocked version of the algorithm, calling Level 3 BLAS.
            

Further Details:

            The band storage scheme is illustrated by the following example, when
            M = N = 6, KL = 2, KU = 1:
            On entry:                       On exit:
                *    *    *    +    +    +       *    *    *   u14  u25  u36
                *    *    +    +    +    +       *    *   u13  u24  u35  u46
                *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
               a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
               a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
               a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
            Array elements marked * are not used by the routine; elements marked
            + need not be set on entry, but are required by the routine to store
            elements of U because of fill-in resulting from the row interchanges.
            

This method corresponds to the LAPACK routine ?GBTRF.

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

ManagedLapackOfSingle Class
BandLUDecompose 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.