1 SUBROUTINE pslatrs( 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
16 INTEGER DESCA( * ), DESCX( * )
17 REAL A( * ), CNORM( * ),
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.0e+0 )
39 INTEGER ICTXT, IIX, IROFF, JJX, MYCOL, MYROW, NP,
40 $ NPCOL, NPROW, LDX, IXCOL, IXROW
47 EXTERNAL blacs_gridinfo, sgebr2d, sgebs2d,
infog2l,
54 ictxt = desca( ctxt_ )
55 CALL blacs_gridinfo( ictxt, nprow, npcol, myrow, mycol )
65 CALL pstrsv( 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 sgebs2d( ictxt,
'R',
' ', np, 1, x( iix+(jjx-1)*ldx ),
79 CALL sgebr2d( ictxt,
'R',
' ', np, 1, x( iix+(jjx-1)*ldx ),
subroutine infog2l(grindx, gcindx, desc, nprow, npcol, myrow, mycol, lrindx, lcindx, rsrc, csrc)
subroutine pslatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale, cnorm, work)