Diff for /rpl/lapack/lapack/dgemqrt.f between versions 1.6 and 1.7

version 1.6, 2016/08/27 15:34:21 version 1.7, 2017/06/17 10:53:48
Line 2 Line 2
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download DGEMQRT + dependencies   *> Download DGEMQRT + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dgemqrt.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dgemqrt.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dgemqrt.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dgemqrt.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgemqrt.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgemqrt.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE DGEMQRT( SIDE, TRANS, M, N, K, NB, V, LDV, T, LDT,   *       SUBROUTINE DGEMQRT( SIDE, TRANS, M, N, K, NB, V, LDV, T, LDT,
 *                          C, LDC, WORK, INFO )  *                          C, LDC, WORK, INFO )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       CHARACTER SIDE, TRANS  *       CHARACTER SIDE, TRANS
 *       INTEGER   INFO, K, LDV, LDC, M, N, NB, LDT  *       INTEGER   INFO, K, LDV, LDC, M, N, NB, LDT
Line 28 Line 28
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       DOUBLE PRECISION V( LDV, * ), C( LDC, * ), T( LDT, * ), WORK( * )  *       DOUBLE PRECISION V( LDV, * ), C( LDC, * ), T( LDT, * ), WORK( * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 46 Line 46
 *>  *>
 *>       Q = H(1) H(2) . . . H(K) = I - V T V**T  *>       Q = H(1) H(2) . . . H(K) = I - V T V**T
 *>  *>
 *> generated using the compact WY representation as returned by DGEQRT.   *> generated using the compact WY representation as returned by DGEQRT.
 *>  *>
 *> Q is of order M if SIDE = 'L' and of order N  if SIDE = 'R'.  *> Q is of order M if SIDE = 'L' and of order N  if SIDE = 'R'.
 *> \endverbatim  *> \endverbatim
Line 155 Line 155
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  *
 *> \date November 2013  *> \date December 2016
 *  *
 *> \ingroup doubleGEcomputational  *> \ingroup doubleGEcomputational
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE DGEMQRT( SIDE, TRANS, M, N, K, NB, V, LDV, T, LDT,         SUBROUTINE DGEMQRT( SIDE, TRANS, M, N, K, NB, V, LDV, T, LDT,
      $                   C, LDC, WORK, INFO )       $                   C, LDC, WORK, INFO )
 *  *
 *  -- LAPACK computational routine (version 3.5.0) --  *  -- LAPACK computational routine (version 3.7.0) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     November 2013  *     December 2016
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER SIDE, TRANS        CHARACTER SIDE, TRANS
Line 207 Line 207
       RIGHT  = LSAME( SIDE,  'R' )        RIGHT  = LSAME( SIDE,  'R' )
       TRAN   = LSAME( TRANS, 'T' )        TRAN   = LSAME( TRANS, 'T' )
       NOTRAN = LSAME( TRANS, 'N' )        NOTRAN = LSAME( TRANS, 'N' )
 *        *
       IF( LEFT ) THEN        IF( LEFT ) THEN
          LDWORK = MAX( 1, N )           LDWORK = MAX( 1, N )
          Q = M           Q = M
Line 248 Line 248
 *  *
          DO I = 1, K, NB           DO I = 1, K, NB
             IB = MIN( NB, K-I+1 )              IB = MIN( NB, K-I+1 )
             CALL DLARFB( 'L', 'T', 'F', 'C', M-I+1, N, IB,               CALL DLARFB( 'L', 'T', 'F', 'C', M-I+1, N, IB,
      $                   V( I, I ), LDV, T( 1, I ), LDT,        $                   V( I, I ), LDV, T( 1, I ), LDT,
      $                   C( I, 1 ), LDC, WORK, LDWORK )       $                   C( I, 1 ), LDC, WORK, LDWORK )
          END DO           END DO
 *           *
       ELSE IF( RIGHT .AND. NOTRAN ) THEN        ELSE IF( RIGHT .AND. NOTRAN ) THEN
 *  *
          DO I = 1, K, NB           DO I = 1, K, NB
             IB = MIN( NB, K-I+1 )              IB = MIN( NB, K-I+1 )
             CALL DLARFB( 'R', 'N', 'F', 'C', M, N-I+1, IB,               CALL DLARFB( 'R', 'N', 'F', 'C', M, N-I+1, IB,
      $                   V( I, I ), LDV, T( 1, I ), LDT,        $                   V( I, I ), LDV, T( 1, I ), LDT,
      $                   C( 1, I ), LDC, WORK, LDWORK )       $                   C( 1, I ), LDC, WORK, LDWORK )
          END DO           END DO
 *  *
Line 266 Line 266
 *  *
          KF = ((K-1)/NB)*NB+1           KF = ((K-1)/NB)*NB+1
          DO I = KF, 1, -NB           DO I = KF, 1, -NB
             IB = MIN( NB, K-I+1 )                       IB = MIN( NB, K-I+1 )
             CALL DLARFB( 'L', 'N', 'F', 'C', M-I+1, N, IB,               CALL DLARFB( 'L', 'N', 'F', 'C', M-I+1, N, IB,
      $                   V( I, I ), LDV, T( 1, I ), LDT,        $                   V( I, I ), LDV, T( 1, I ), LDT,
      $                   C( I, 1 ), LDC, WORK, LDWORK )       $                   C( I, 1 ), LDC, WORK, LDWORK )
          END DO           END DO
 *  *
Line 276 Line 276
 *  *
          KF = ((K-1)/NB)*NB+1           KF = ((K-1)/NB)*NB+1
          DO I = KF, 1, -NB           DO I = KF, 1, -NB
             IB = MIN( NB, K-I+1 )                       IB = MIN( NB, K-I+1 )
             CALL DLARFB( 'R', 'T', 'F', 'C', M, N-I+1, IB,               CALL DLARFB( 'R', 'T', 'F', 'C', M, N-I+1, IB,
      $                   V( I, I ), LDV, T( 1, I ), LDT,        $                   V( I, I ), LDV, T( 1, I ), LDT,
      $                   C( 1, I ), LDC, WORK, LDWORK )       $                   C( 1, I ), LDC, WORK, LDWORK )
          END DO           END DO
 *  *

Removed from v.1.6  
changed lines
  Added in v.1.7


CVSweb interface <joel.bertrand@systella.fr>