1ZTBSV(1)                         BLAS routine                         ZTBSV(1)
2
3
4

NAME

6       ZTBSV  - solves one of the systems of equations   A*x = b, or A'*x = b,
7       or conjg( A' )*x = b,
8

SYNOPSIS

10       SUBROUTINE ZTBSV(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
11
12           INTEGER                                        INCX,K,LDA,N
13
14           CHARACTER                                      DIAG,TRANS,UPLO
15
16           DOUBLE                                         COMPLEX
17                                                          A(LDA,*),X(*)
18

PURPOSE

20       ZTBSV  solves one of the systems of equations
21
22       where  b  and  x are n element vectors and A is an n by n unit, or non-
23       unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.
24
25       No test for singularity or near-singularity is included  in  this  rou‐
26       tine. Such tests must be performed before calling this routine.
27
28

ARGUMENTS

30       UPLO   - CHARACTER*1.
31              On entry, UPLO specifies whether the matrix is an upper or lower
32              triangular matrix as follows:
33
34              UPLO = 'U' or 'u'   A is an upper triangular matrix.
35
36              UPLO = 'L' or 'l'   A is a lower triangular matrix.
37
38              Unchanged on exit.
39
40       TRANS  - CHARACTER*1.
41              On entry, TRANS specifies the equations to be solved as follows:
42
43              TRANS = 'N' or 'n'   A*x = b.
44
45              TRANS = 'T' or 't'   A'*x = b.
46
47              TRANS = 'C' or 'c'   conjg( A' )*x = b.
48
49              Unchanged on exit.
50
51       DIAG   - CHARACTER*1.
52              On entry, DIAG specifies whether or not A is unit triangular  as
53              follows:
54
55              DIAG = 'U' or 'u'   A is assumed to be unit triangular.
56
57              DIAG = 'N' or 'n'   A is not assumed to be unit triangular.
58
59              Unchanged on exit.
60
61       N      - INTEGER.
62              On  entry,  N specifies the order of the matrix A.  N must be at
63              least zero.  Unchanged on exit.
64
65       K      - INTEGER.
66              On entry with UPLO = 'U' or  'u',  K  specifies  the  number  of
67              super-diagonals  of  the  matrix A.  On entry with UPLO = 'L' or
68              'l', K specifies the number of sub-diagonals of the matrix A.  K
69              must satisfy  0 .le. K.  Unchanged on exit.
70
71       A      - COMPLEX*16       array of DIMENSION ( LDA, n ).
72              Before  entry with UPLO = 'U' or 'u', the leading ( k + 1 ) by n
73              part of the array A must contain the upper triangular band  part
74              of  the  matrix of coefficients, supplied column by column, with
75              the leading diagonal of the matrix in row (  k  +  1  )  of  the
76              array, the first super-diagonal starting at position 2 in row k,
77              and so on. The top left k by k triangle of the array  A  is  not
78              referenced.   The  following  program  segment  will transfer an
79              upper triangular band matrix from conventional full matrix stor‐
80              age to band storage:
81
82              DO 20, J = 1, N M = K + 1 - J DO 10, I = MAX( 1, J - K ), J A( M
83              + I, J ) = matrix( I, J ) 10    CONTINUE 20 CONTINUE
84
85              Before entry with UPLO = 'L' or 'l', the leading ( k + 1 ) by  n
86              part  of the array A must contain the lower triangular band part
87              of the matrix of coefficients, supplied column by  column,  with
88              the  leading  diagonal  of the matrix in row 1 of the array, the
89              first sub-diagonal starting at position 1 in row 2, and  so  on.
90              The  bottom  right  k by k triangle of the array A is not refer‐
91              enced.  The following program segment will transfer a lower tri‐
92              angular  band  matrix  from  conventional full matrix storage to
93              band storage:
94
95              DO 20, J = 1, N M = 1 - J DO 10, I = J, MIN( N, J + K ) A(  M  +
96              I, J ) = matrix( I, J ) 10    CONTINUE 20 CONTINUE
97
98              Note  that  when  DIAG  = 'U' or 'u' the elements of the array A
99              corresponding to the diagonal elements of  the  matrix  are  not
100              referenced, but are assumed to be unity.  Unchanged on exit.
101
102       LDA    - INTEGER.
103              On  entry, LDA specifies the first dimension of A as declared in
104              the calling (sub) program. LDA must be at  least  (  k  +  1  ).
105              Unchanged on exit.
106
107       X      - COMPLEX*16       array of dimension at least
108              (  1  +  ( n - 1 )*abs( INCX ) ).  Before entry, the incremented
109              array X must contain the n element right-hand side vector b.  On
110              exit, X is overwritten with the solution vector x.
111
112       INCX   - INTEGER.
113              On  entry,  INCX  specifies the increment for the elements of X.
114              INCX must not be zero.  Unchanged on exit.
115

FURTHER DETAILS

117       Level 2 Blas routine.
118
119       -- Written on 22-October-1986.
120          Jack Dongarra, Argonne National Lab.
121          Jeremy Du Croz, Nag Central Office.
122          Sven Hammarling, Nag Central Office.
123          Richard Hanson, Sandia National Labs.
124
125
126
127
128BLAS routine                     November 2008                        ZTBSV(1)
Impressum