210      SUBROUTINE stpmlqt( SIDE, TRANS, M, N, K, L, MB, V, LDV, T,
 
  212     $                    A, LDA, B, LDB, WORK, INFO )
 
  219      CHARACTER SIDE, TRANS
 
  220      INTEGER   INFO, K, LDV, LDA, LDB, M, N, L, MB, LDT
 
  223      REAL   V( LDV, * ), A( LDA, * ), B( LDB, * ),
 
  224     $                   T( LDT, * ), WORK( * )
 
  231      LOGICAL            LEFT, RIGHT, TRAN, NOTRAN
 
  232      INTEGER            I, IB, NB, LB, KF, LDAQ
 
  249      left   = lsame( side,  
'L' )
 
  250      right  = lsame( side,  
'R' )
 
  251      tran   = lsame( trans, 
'T' )
 
  252      notran = lsame( trans, 
'N' )
 
  256      ELSE IF ( right ) 
THEN 
  259      IF( .NOT.left .AND. .NOT.right ) 
THEN 
  261      ELSE IF( .NOT.tran .AND. .NOT.notran ) 
THEN 
  263      ELSE IF( m.LT.0 ) 
THEN 
  265      ELSE IF( n.LT.0 ) 
THEN 
  267      ELSE IF( k.LT.0 ) 
THEN 
  269      ELSE IF( l.LT.0 .OR. l.GT.k ) 
THEN 
  271      ELSE IF( mb.LT.1 .OR. (mb.GT.k .AND. k.GT.0) ) 
THEN 
  273      ELSE IF( ldv.LT.k ) 
THEN 
  275      ELSE IF( ldt.LT.mb ) 
THEN 
  277      ELSE IF( lda.LT.ldaq ) 
THEN 
  279      ELSE IF( ldb.LT.max( 1, m ) ) 
THEN 
  284         CALL xerbla( 
'STPMLQT', -info )
 
  290      IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 ) 
RETURN 
  292      IF( left .AND. notran ) 
THEN 
  295            ib = min( mb, k-i+1 )
 
  296            nb = min( m-l+i+ib-1, m )
 
  302            CALL stprfb( 
'L', 
'T', 
'F', 
'R', nb, n, ib, lb,
 
  303     $                   v( i, 1 ), ldv, t( 1, i ), ldt,
 
  304     $                   a( i, 1 ), lda, b, ldb, work, ib )
 
  307      ELSE IF( right .AND. tran ) 
THEN 
  310            ib = min( mb, k-i+1 )
 
  311            nb = min( n-l+i+ib-1, n )
 
  317            CALL stprfb( 
'R', 
'N', 
'F', 
'R', m, nb, ib, lb,
 
  318     $                   v( i, 1 ), ldv, t( 1, i ), ldt,
 
  319     $                   a( 1, i ), lda, b, ldb, work, m )
 
  322      ELSE IF( left .AND. tran ) 
THEN 
  326            ib = min( mb, k-i+1 )
 
  327            nb = min( m-l+i+ib-1, m )
 
  333            CALL stprfb( 
'L', 
'N', 
'F', 
'R', nb, n, ib, lb,
 
  334     $                   v( i, 1 ), ldv, t( 1, i ), ldt,
 
  335     $                   a( i, 1 ), lda, b, ldb, work, ib )
 
  338      ELSE IF( right .AND. notran ) 
THEN 
  342            ib = min( mb, k-i+1 )
 
  343            nb = min( n-l+i+ib-1, n )
 
  349            CALL stprfb( 
'R', 
'T', 
'F', 
'R', m, nb, ib, lb,
 
  350     $                   v( i, 1 ), ldv, t( 1, i ), ldt,
 
  351     $                   a( 1, i ), lda, b, ldb, work, m )
 
 
subroutine stpmlqt(side, trans, m, n, k, l, mb, v, ldv, t, ldt, a, lda, b, ldb, work, info)
STPMLQT
subroutine stprfb(side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
STPRFB applies a real "triangular-pentagonal" block reflector to a real matrix, which is composed of ...