SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ pbctr2bt()

subroutine pbctr2bt ( integer  icontxt,
character*1  adist,
character*1  trans,
integer  m,
integer  n,
integer  nb,
complex, dimension( lda, * )  a,
integer  lda,
complex  beta,
complex, dimension( ldb, * )  b,
integer  ldb,
integer  intv 
)

Definition at line 704 of file pbctran.f.

706*
707* -- PB-BLAS routine (version 2.1) --
708* University of Tennessee, Knoxville, Oak Ridge National Laboratory.
709* April 28, 1996
710*
711* .. Scalar Arguments ..
712 CHARACTER*1 ADIST, TRANS
713 INTEGER ICONTXT, INTV, LDA, LDB, M, N, NB
714 COMPLEX BETA
715* ..
716* .. Array Arguments ..
717 COMPLEX A( LDA, * ), B( LDB, * )
718* ..
719*
720* Purpose
721* =======
722*
723* PBCTR2BT forms T <== A^T + beta*T or A^C + beta*T, where T is a
724* ((conjugate) transposed) condensed block row (or column), copied from
725* a scattered block column (or row) of A
726*
727* =====================================================================
728*
729* .. Parameters ..
730 COMPLEX ONE
731 parameter( one = ( 1.0e+0, 0.0e+0 ) )
732* ..
733* .. Local Scalars ..
734 INTEGER IA, IB, K
735* ..
736* .. External Functions ..
737 LOGICAL LSAME
738 INTEGER ICEIL
739 EXTERNAL lsame, iceil
740* ..
741* .. External Subroutines ..
742 EXTERNAL pbcmatadd
743* ..
744* .. Intrinsic Functions ..
745 INTRINSIC min
746* ..
747* .. Excutable Statements ..
748*
749 IF( intv.EQ.nb ) THEN
750 CALL pbcmatadd( icontxt, trans, n, m, one, a, lda, beta, b,
751 $ ldb )
752*
753 ELSE
754*
755* If A is a column block ( ADIST = 'C' ),
756*
757 IF( lsame( adist, 'C' ) ) THEN
758 ia = 1
759 ib = 1
760 DO 10 k = 1, iceil( m, intv )
761 CALL pbcmatadd( icontxt, trans, n, min( m-ia+1, nb ),
762 $ one, a(ia,1), lda, beta, b(1,ib), ldb )
763 ia = ia + intv
764 ib = ib + nb
765 10 CONTINUE
766*
767* If A is a row block (ADIST = 'R'),
768*
769 ELSE
770 ia = 1
771 ib = 1
772 DO 20 k = 1, iceil( n, intv )
773 CALL pbcmatadd( icontxt, trans, min( n-ia+1, nb ), m,
774 $ one, a(1,ia), lda, beta, b(ib,1), ldb )
775 ia = ia + intv
776 ib = ib + nb
777 20 CONTINUE
778 END IF
779 END IF
780*
781 RETURN
782*
783* End of PBCTR2BT
784*
integer function iceil(inum, idenom)
Definition iceil.f:2
subroutine pbcmatadd(icontxt, mode, m, n, alpha, a, lda, beta, b, ldb)
Definition pbcmatadd.f:3
#define min(A, B)
Definition pcgemr.c:181
logical function lsame(ca, cb)
Definition tools.f:1724
Here is the call graph for this function:
Here is the caller graph for this function: