F07VVF (ZTBRFS) (PDF version)
F07 Chapter Contents
F07 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F07VVF (ZTBRFS)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

F07VVF (ZTBRFS) returns error bounds for the solution of a complex triangular band system of linear equations with multiple right-hand sides, AX=B, ATX=B or AHX=B.

2  Specification

SUBROUTINE F07VVF ( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
INTEGER  N, KD, NRHS, LDAB, LDB, LDX, INFO
REAL (KIND=nag_wp)  FERR(NRHS), BERR(NRHS), RWORK(N)
COMPLEX (KIND=nag_wp)  AB(LDAB,*), B(LDB,*), X(LDX,*), WORK(2*N)
CHARACTER(1)  UPLO, TRANS, DIAG
The routine may be called by its LAPACK name ztbrfs.

3  Description

F07VVF (ZTBRFS) returns the backward errors and estimated bounds on the forward errors for the solution of a complex triangular band system of linear equations with multiple right-hand sides AX=B, ATX=B or AHX=B. The routine handles each right-hand side vector (stored as a column of the matrix B) independently, so we describe the function of F07VVF (ZTBRFS) in terms of a single right-hand side b and solution x.
Given a computed solution x, the routine computes the component-wise backward error β. This is the size of the smallest relative perturbation in each element of A and b such that x is the exact solution of a perturbed system
A+δAx=b+δb δaijβaij   and   δbiβbi .
Then the routine estimates a bound for the component-wise forward error in the computed solution, defined by:
maxixi-x^i/maxixi
where x^ is the true solution.
For details of the method, see the F07 Chapter Introduction.

4  References

Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore

5  Parameters

1:     UPLO – CHARACTER(1)Input
On entry: specifies whether A is upper or lower triangular.
UPLO='U'
A is upper triangular.
UPLO='L'
A is lower triangular.
Constraint: UPLO='U' or 'L'.
2:     TRANS – CHARACTER(1)Input
On entry: indicates the form of the equations.
TRANS='N'
The equations are of the form AX=B.
TRANS='T'
The equations are of the form ATX=B.
TRANS='C'
The equations are of the form AHX=B.
Constraint: TRANS='N', 'T' or 'C'.
3:     DIAG – CHARACTER(1)Input
On entry: indicates whether A is a nonunit or unit triangular matrix.
DIAG='N'
A is a nonunit triangular matrix.
DIAG='U'
A is a unit triangular matrix; the diagonal elements are not referenced and are assumed to be 1.
Constraint: DIAG='N' or 'U'.
4:     N – INTEGERInput
On entry: n, the order of the matrix A.
Constraint: N0.
5:     KD – INTEGERInput
On entry: kd, the number of superdiagonals of the matrix A if UPLO='U', or the number of subdiagonals if UPLO='L'.
Constraint: KD0.
6:     NRHS – INTEGERInput
On entry: r, the number of right-hand sides.
Constraint: NRHS0.
7:     AB(LDAB,*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array AB must be at least max1,N.
On entry: the n by n triangular band matrix A.
The matrix is stored in rows 1 to kd+1, more precisely,
  • if UPLO='U', the elements of the upper triangle of A within the band must be stored with element Aij in ABkd+1+i-jj​ for ​max1,j-kdij;
  • if UPLO='L', the elements of the lower triangle of A within the band must be stored with element Aij in AB1+i-jj​ for ​jiminn,j+kd.
If DIAG='U', the diagonal elements of A are assumed to be 1, and are not referenced.
8:     LDAB – INTEGERInput
On entry: the first dimension of the array AB as declared in the (sub)program from which F07VVF (ZTBRFS) is called.
Constraint: LDABKD+1.
9:     B(LDB,*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array B must be at least max1,NRHS.
On entry: the n by r right-hand side matrix B.
10:   LDB – INTEGERInput
On entry: the first dimension of the array B as declared in the (sub)program from which F07VVF (ZTBRFS) is called.
Constraint: LDBmax1,N.
11:   X(LDX,*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array X must be at least max1,NRHS.
On entry: the n by r solution matrix X, as returned by F07VSF (ZTBTRS).
12:   LDX – INTEGERInput
On entry: the first dimension of the array X as declared in the (sub)program from which F07VVF (ZTBRFS) is called.
Constraint: LDXmax1,N.
13:   FERR(NRHS) – REAL (KIND=nag_wp) arrayOutput
On exit: FERRj contains an estimated error bound for the jth solution vector, that is, the jth column of X, for j=1,2,,r.
14:   BERR(NRHS) – REAL (KIND=nag_wp) arrayOutput
On exit: BERRj contains the component-wise backward error bound β for the jth solution vector, that is, the jth column of X, for j=1,2,,r.
15:   WORK(2×N) – COMPLEX (KIND=nag_wp) arrayWorkspace
16:   RWORK(N) – REAL (KIND=nag_wp) arrayWorkspace
17:   INFO – INTEGEROutput
On exit: INFO=0 unless the routine detects an error (see Section 6).

6  Error Indicators and Warnings

Errors or warnings detected by the routine:
INFO<0
If INFO=-i, the ith parameter had an illegal value. An explanatory message is output, and execution of the program is terminated.

7  Accuracy

The bounds returned in FERR are not rigorous, because they are estimated, not computed exactly; but in practice they almost always overestimate the actual error.

8  Further Comments

A call to F07VVF (ZTBRFS), for each right-hand side, involves solving a number of systems of linear equations of the form Ax=b or AHx=b; the number is usually 5 and never more than 11. Each solution involves approximately 8nk real floating point operations (assuming nk).
The real analogue of this routine is F07VHF (DTBRFS).

9  Example

This example solves the system of equations AX=B and to compute forward and backward error bounds, where
A= -1.94+4.43i 0.00+0.00i 0.00+0.00i 0.00+0.00i -3.39+3.44i 4.12-4.27i 0.00+0.00i 0.00+0.00i 1.62+3.68i -1.84+5.53i 0.43-2.66i 0.00+0.00i 0.00+0.00i -2.77-1.93i 1.74-0.04i 0.44+0.10i
and
B= -8.86-03.88i -24.09-05.27i -15.57-23.41i -57.97+08.14i -7.63+22.78i 19.09-29.51i -14.74-02.40i 19.17+21.33i .

9.1  Program Text

Program Text (f07vvfe.f90)

9.2  Program Data

Program Data (f07vvfe.d)

9.3  Program Results

Program Results (f07vvfe.r)


F07VVF (ZTBRFS) (PDF version)
F07 Chapter Contents
F07 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012