PLASMA
2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
Main Page
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
dpotri.f
Go to the documentation of this file.
1
SUBROUTINE
dpotri
( UPLO, N, A, LDA, INFO )
2
*
3
* -- LAPACK routine (version 3.2) --
4
* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5
* November 2006
6
*
7
* .. Scalar Arguments ..
8
CHARACTER
uplo
9
INTEGER
info, lda, n
10
* ..
11
* .. Array Arguments ..
12
DOUBLE PRECISION
a( lda, * )
13
* ..
14
*
15
* Purpose
16
* =======
17
*
18
* DPOTRI computes the inverse of a real symmetric positive definite
19
* matrix A using the Cholesky factorization A = U**T*U or A = L*L**T
20
* computed by DPOTRF.
21
*
22
* Arguments
23
* =========
24
*
25
* UPLO (input) CHARACTER*1
26
* = 'U': Upper triangle of A is stored;
27
* = 'L': Lower triangle of A is stored.
28
*
29
* N (input) INTEGER
30
* The order of the matrix A. N >= 0.
31
*
32
* A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
33
* On entry, the triangular factor U or L from the Cholesky
34
* factorization A = U**T*U or A = L*L**T, as computed by
35
* DPOTRF.
36
* On exit, the upper or lower triangle of the (symmetric)
37
* inverse of A, overwriting the input factor U or L.
38
*
39
* LDA (input) INTEGER
40
* The leading dimension of the array A. LDA >= max(1,N).
41
*
42
* INFO (output) INTEGER
43
* = 0: successful exit
44
* < 0: if INFO = -i, the i-th argument had an illegal value
45
* > 0: if INFO = i, the (i,i) element of the factor U or L is
46
* zero, and the inverse could not be computed.
47
*
48
* =====================================================================
49
*
50
* .. External Functions ..
51
LOGICAL
lsame
52
EXTERNAL
lsame
53
* ..
54
* .. External Subroutines ..
55
EXTERNAL
dlauum
,
dtrtri
,
xerbla
56
* ..
57
* .. Intrinsic Functions ..
58
INTRINSIC
max
59
* ..
60
* .. Executable Statements ..
61
*
62
* Test the input parameters.
63
*
64
info = 0
65
IF
( .NOT.lsame(
uplo
,
'U'
) .AND. .NOT.lsame(
uplo
,
'L'
) )
THEN
66
info = -1
67
ELSE
IF
( n.LT.0 )
THEN
68
info = -2
69
ELSE
IF
( lda.LT.
max
( 1, n ) )
THEN
70
info = -4
71
END IF
72
IF
( info.NE.0 )
THEN
73
CALL
xerbla
(
'DPOTRI'
, -info )
74
return
75
END IF
76
*
77
* Quick return if possible
78
*
79
IF
( n.EQ.0 )
80
$ return
81
*
82
* Invert the triangular Cholesky factor U or L.
83
*
84
CALL
dtrtri
(
uplo
,
'Non-unit'
, n, a, lda, info )
85
IF
( info.GT.0 )
86
$ return
87
*
88
* Form inv(U)*inv(U)' or inv(L)'*inv(L).
89
*
90
CALL
dlauum
(
uplo
, n, a, lda, info )
91
*
92
return
93
*
94
* End of DPOTRI
95
*
96
END
plasma_2.4.5
testing
lin
dpotri.f
Generated on Mon Jul 9 2012 12:45:04 for PLASMA by
1.8.1