1 SUBROUTINE pzlatrs( UPLO, TRANS, DIAG, NORMIN, N, A, IA,
2 $ JA, DESCA, X, IX, JX, DESCX, SCALE, CNORM,
11 CHARACTER DIAG, NORMIN, TRANS, UPLO
12 INTEGER IA, IX, JA, JX, N
13 DOUBLE PRECISION SCALE
16 INTEGER DESCA( * ), DESCX( * )
17 DOUBLE PRECISION CNORM( * )
18 COMPLEX*16 ( * ), X( * ), WORK( * )
30 INTEGER BLOCK_CYCLIC_2D, CSRC_, CTXT_, DLEN_, DTYPE_,
31 $ LLD_, MB_, M_, NB_, N_, RSRC_
32 parameter( block_cyclic_2d = 1, dlen_ = 9, dtype_ = 1,
33 $ ctxt_ = 2, m_ = 3, n_ = 4, mb_ = 5, nb_ = 6,
34 $ rsrc_ = 7, csrc_ = 8, lld_ = 9 )
36 PARAMETER ( ONE = 1.0d+0 )
39 INTEGER ICTXT, IIX, IROFF, JJX, MYCOL, MYROW, NP,
40 $ NPCOL, NPROW, LDX, IXCOL, IXROW
54 ictxt = desca( ctxt_ )
65 CALL pztrsv( uplo, trans, diag, n, a, ia, ja, desca, x, ix, jx,
68 CALL infog2l( ix, jx, descx, nprow, npcol, myrow, mycol, iix, jjx,
71 iroff = mod( ix-1, descx(mb_) )
72 np = numroc( n+iroff, descx( mb_ ), myrow, ixrow, nprow )
75 IF( mycol.EQ.ixcol )
THEN
76 CALL zgebs2d( ictxt,
'R',
' ', np, 1, x( iix+(jjx-1)*ldx ),
79 CALL zgebr2d( ictxt,
'R',
' ', np, 1, x( iix+(jjx-1)*ldx ),
subroutine infog2l(grindx, gcindx, desc, nprow, npcol, myrow, mycol, lrindx, lcindx, rsrc, csrc)
subroutine pzlatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale, cnorm, work)