1 SUBROUTINE pdlatrs( 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 A( * ), CNORM( * ),
30 INTEGER BLOCK_CYCLIC_2D, CSRC_, CTXT_, DLEN_, DTYPE_,
31 $ LLD_, MB_, M_, NB_, N_,
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 pdtrsv( uplo, trans
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 dgebs2d( ictxt,
'R'' ', np, 1, x( iix+(jjx-1)*ldx ),
79 CALL dgebr2d( ictxt,
'R',
' ', np, 1, x( iix+(jjx-1)*ldx ),
subroutine infog2l(grindx, gcindx, desc, nprow, npcol, myrow, mycol, lrindx, lcindx, rsrc, csrc)
subroutine pdlatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale, cnorm, work)