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