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
cpotri.f
Go to the documentation of this file.
1
SUBROUTINE
cpotri
( 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
COMPLEX
a( lda, * )
13
* ..
14
*
15
* Purpose
16
* =======
17
*
18
* CPOTRI computes the inverse of a complex Hermitian positive definite
19
* matrix A using the Cholesky factorization A = U**H*U or A = L*L**H
20
* computed by CPOTRF.
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) COMPLEX array, dimension (LDA,N)
33
* On entry, the triangular factor U or L from the Cholesky
34
* factorization A = U**H*U or A = L*L**H, as computed by
35
* CPOTRF.
36
* On exit, the upper or lower triangle of the (Hermitian)
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
clauum
,
ctrtri
,
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
(
'CPOTRI'
, -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
ctrtri
(
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
clauum
(
uplo
, n, a, lda, info )
91
*
92
return
93
*
94
* End of CPOTRI
95
*
96
END
plasma_2.4.5
testing
lin
cpotri.f
Generated on Mon Jul 9 2012 12:45:03 for PLASMA by
1.8.1