1DTPTRS(1) LAPACK routine (version 3.1) DTPTRS(1)
2
3
4
6 DTPTRS - a triangular system of the form A * X = B or A**T * X = B,
7
9 SUBROUTINE DTPTRS( UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO )
10
11 CHARACTER DIAG, TRANS, UPLO
12
13 INTEGER INFO, LDB, N, NRHS
14
15 DOUBLE PRECISION AP( * ), B( LDB, * )
16
18 DTPTRS solves a triangular system of the form
19
20 where A is a triangular matrix of order N stored in packed format, and
21 B is an N-by-NRHS matrix. A check is made to verify that A is nonsinā
22 gular.
23
24
26 UPLO (input) CHARACTER*1
27 = 'U': A is upper triangular;
28 = 'L': A is lower triangular.
29
30 TRANS (input) CHARACTER*1
31 Specifies the form of the system of equations:
32 = 'N': A * X = B (No transpose)
33 = 'T': A**T * X = B (Transpose)
34 = 'C': A**H * X = B (Conjugate transpose = Transpose)
35
36 DIAG (input) CHARACTER*1
37 = 'N': A is non-unit triangular;
38 = 'U': A is unit triangular.
39
40 N (input) INTEGER
41 The order of the matrix A. N >= 0.
42
43 NRHS (input) INTEGER
44 The number of right hand sides, i.e., the number of columns of
45 the matrix B. NRHS >= 0.
46
47 AP (input) DOUBLE PRECISION array, dimension (N*(N+1)/2)
48 The upper or lower triangular matrix A, packed columnwise in a
49 linear array. The j-th column of A is stored in the array AP
50 as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for
51 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for
52 j<=i<=n.
53
54 B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
55 On entry, the right hand side matrix B. On exit, if INFO = 0,
56 the solution matrix X.
57
58 LDB (input) INTEGER
59 The leading dimension of the array B. LDB >= max(1,N).
60
61 INFO (output) INTEGER
62 = 0: successful exit
63 < 0: if INFO = -i, the i-th argument had an illegal value
64 > 0: if INFO = i, the i-th diagonal element of A is zero,
65 indicating that the matrix is singular and the solutions X have
66 not been computed.
67
68
69
70 LAPACK routine (version 3.1) November 2006 DTPTRS(1)