Developer Reference for Intel® oneAPI Math Kernel Library for C
?gbtrs
Solves a system of linear equations with an LU-factored band coefficient matrix, with multiple right-hand sides.
Syntax
lapack_intLAPACKE_sgbtrs ( intmatrix_layout , chartrans , lapack_intn , lapack_intkl , lapack_intku , lapack_intnrhs , constfloat*ab , lapack_intldab , constlapack_int*ipiv , float*b , lapack_intldb );
lapack_intLAPACKE_dgbtrs ( intmatrix_layout , chartrans , lapack_intn , lapack_intkl , lapack_intku , lapack_intnrhs , constdouble*ab , lapack_intldab , constlapack_int*ipiv , double*b , lapack_intldb );
lapack_intLAPACKE_cgbtrs ( intmatrix_layout , chartrans , lapack_intn , lapack_intkl , lapack_intku , lapack_intnrhs , constlapack_complex_float*ab , lapack_intldab , constlapack_int*ipiv , lapack_complex_float*b , lapack_intldb );
lapack_intLAPACKE_zgbtrs ( intmatrix_layout , chartrans , lapack_intn , lapack_intkl , lapack_intku , lapack_intnrhs , constlapack_complex_double*ab , lapack_intldab , constlapack_int*ipiv , lapack_complex_double*b , lapack_intldb );
Include Files
mkl.h
Description
The routine solves for X in the following systems of linear equations:
\(AX\) = \(B\) if trans = ‘N’ ,
\(A^{T}X = B\) if trans = ‘T’ ,
\(A^{H}X = B\) if trans = ‘C’ (for complex matrices only).
Here A is an LU -factored general band matrix of order n with kl non-zero subdiagonals and ku nonzero superdiagonals. Before calling this routine, call ?gbtrf (Computes the LU factorization of a general m-by-n band matrix.) to compute the LU factorization of A .
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
trans
Must be ‘N’ or ‘T’ or ‘C’ .
n
The order of A ; the number of rows in B ; n ≥ 0.
kl
The number of subdiagonals within the band of A ; kl ≥ 0.
ku
The number of superdiagonals within the band of A ; ku ≥ 0.
nrhs
The number of right-hand sides; nrhs ≥ 0.
ab , b
Array ab size max(1, ldab * n )
The array ab contains elements of the LU factors of the matrix A as returned by gbtrf .
b
Array b size max(1, ldb * nrhs ) for column major layout and max(1, ldb * n ) for row major layout.
The array b contains the matrix B whose columns are the right-hand sides for the systems of equations.
ldab
The leading dimension of the array ab ; ldab ≥ 2* kl + ku +1.
ldb
The leading dimension of b ; ldb≥ max(1, n)ldb ≥ max(1, n ) for column major layout and ldb ≥ nrhs for row major layout .
ipiv
Array, size at least max(1, n) . The ipiv array, as returned by ?gbtrf (Computes the LU factorization of a general m-by-n band matrix.) .
Output Parameters
b
Overwritten by the solution matrix X .
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info = -i , parameter i had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
Application Notes
For each right-hand side \(b\) , the computed solution is the exact solution of a perturbed system of equations \((A + E)x = b\) , where
\[|E| \le c(kl + ku + 1) \varepsilon P|L||U|\]
\(c(k)\) is a modest linear function of \(k\) , and \(\varepsilon\) is the machine precision.
If \(x_{0}\) is the true solution, the computed solution \(x\) satisfies this error bound:
\[\frac{\|x - x_0\|_\infty}{\|x\|_\infty} \leq c(kl + ku + 1) \operatorname{cond}(A, x) \varepsilon\]
where
\[\operatorname{cond}(A,x) = || |A^{-1}| |A| |x|_\infty || / ||x||_\infty \leq ||A^{-1}||_\infty ||A||_\infty = \kappa_\infty(A).\]
Note that \(\operatorname{cond}(A,x)\) can be much smaller than \(\kappa_\infty (A)\) ; the condition number of \(A^{T}\) and \(A^{H}\) might or might not be equal to \(\kappa_\infty (A)\) .
The approximate number of floating-point operations for one right-hand side vector is \(2n(ku + 2kl)\) for real flavors. The number of operations for complex flavors is 4 times greater. All these estimates assume that \(kl\) and \(ku\) are much less than min(m,n).
To estimate the condition number \(\kappa_\infty (A)\) , call ?gbcon (Estimates the reciprocal of the condition number of a band matrix in the 1-norm or the infinity-norm.) .
To refine the solution and estimate the error, call ?gbrfs (Refines the solution of a system of linear equations with a general band coefficient matrix and estimates its error.) .