* SUBROUTINE CQRT04(M,N,NB,RESULT)
*
* .. Scalar Arguments ..
-* INTEGER LWORK, M, N, NB, LDT
+* INTEGER M, N, NB, LDT
* .. Return values ..
* REAL RESULT(6)
*
* November 2011
*
* .. Scalar Arguments ..
- INTEGER LWORK, M, N, NB, LDT
+ INTEGER M, N, NB, LDT
* .. Return values ..
REAL RESULT(6)
*
PARAMETER( ZERO = 0.0, ONE = (1.0,0.0), CZERO=(0.0,0.0) )
* ..
* .. Local Scalars ..
- INTEGER INFO, J, K, L
+ INTEGER INFO, J, K, L, LWORK
REAL ANORM, EPS, RESID, CNORM, DNORM
* ..
* .. Local Arrays ..
* Apply Q to C as Q*C
*
CALL CGEMQRT( 'L', 'N', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |Q*C - Q*C| / |C|
*
* Apply Q to C as QT*C
*
CALL CGEMQRT( 'L', 'C', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |QT*C - QT*C| / |C|
*
* Apply Q to D as D*Q
*
CALL CGEMQRT( 'R', 'N', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*Q - D*Q| / |D|
*
* Apply Q to D as D*QT
*
CALL CGEMQRT( 'R', 'C', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*QT - D*QT| / |D|
*
* SUBROUTINE DQRT04(M,N,NB,RESULT)
*
* .. Scalar Arguments ..
-* INTEGER LWORK, M, N, NB, LDT
+* INTEGER M, N, NB, LDT
* .. Return values ..
* DOUBLE PRECISION RESULT(6)
*
* November 2011
*
* .. Scalar Arguments ..
- INTEGER LWORK, M, N, NB, LDT
+ INTEGER M, N, NB, LDT
* .. Return values ..
DOUBLE PRECISION RESULT(6)
*
PARAMETER( ZERO = 0.0, ONE = 1.0 )
* ..
* .. Local Scalars ..
- INTEGER INFO, J, K, L
+ INTEGER INFO, J, K, L, LWORK
DOUBLE PRECISION ANORM, EPS, RESID, CNORM, DNORM
* ..
* .. Local Arrays ..
* Apply Q to C as Q*C
*
CALL DGEMQRT( 'L', 'N', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |Q*C - Q*C| / |C|
*
* Apply Q to C as QT*C
*
CALL DGEMQRT( 'L', 'T', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |QT*C - QT*C| / |C|
*
* Apply Q to D as D*Q
*
CALL DGEMQRT( 'R', 'N', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*Q - D*Q| / |D|
*
* Apply Q to D as D*QT
*
CALL DGEMQRT( 'R', 'T', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*QT - D*QT| / |D|
*
* SUBROUTINE SQRT04(M,N,NB,RESULT)
*
* .. Scalar Arguments ..
-* INTEGER LWORK, M, N, NB, LDT
+* INTEGER M, N, NB, LDT
* .. Return values ..
* REAL RESULT(6)
*
* November 2011
*
* .. Scalar Arguments ..
- INTEGER LWORK, M, N, NB, LDT
+ INTEGER M, N, NB, LDT
* .. Return values ..
REAL RESULT(6)
*
PARAMETER( ZERO = 0.0, ONE = 1.0 )
* ..
* .. Local Scalars ..
- INTEGER INFO, J, K, L
+ INTEGER INFO, J, K, L, LWORK
REAL ANORM, EPS, RESID, CNORM, DNORM
* ..
* .. Local Arrays ..
* Apply Q to C as Q*C
*
CALL SGEMQRT( 'L', 'N', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |Q*C - Q*C| / |C|
*
* Apply Q to C as QT*C
*
CALL SGEMQRT( 'L', 'T', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |QT*C - QT*C| / |C|
*
* Apply Q to D as D*Q
*
CALL SGEMQRT( 'R', 'N', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*Q - D*Q| / |D|
*
* Apply Q to D as D*QT
*
CALL SGEMQRT( 'R', 'T', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*QT - D*QT| / |D|
*
* SUBROUTINE ZQRT04(M,N,NB,RESULT)
*
* .. Scalar Arguments ..
-* INTEGER LWORK, M, N, NB, LDT
+* INTEGER M, N, NB, LDT
* .. Return values ..
* DOUBLE PRECISION RESULT(6)
*
* November 2011
*
* .. Scalar Arguments ..
- INTEGER LWORK, M, N, NB, LDT
+ INTEGER M, N, NB, LDT
* .. Return values ..
DOUBLE PRECISION RESULT(6)
*
PARAMETER( ZERO = 0.0, ONE = (1.0,0.0), CZERO=(0.0,0.0) )
* ..
* .. Local Scalars ..
- INTEGER INFO, J, K, L
+ INTEGER INFO, J, K, L, LWORK
DOUBLE PRECISION ANORM, EPS, RESID, CNORM, DNORM
* ..
* .. Local Arrays ..
* Generate the m-by-m matrix Q
*
CALL ZLASET( 'Full', M, M, CZERO, ONE, Q, M )
- CALL ZGEMQRT( 'R', 'N', M, M, K, NB, AF, M, T, LDT, Q, M,
+ CALL ZGEMQRT( 'R', 'N', M, M, K, NB, AF, M, T, LDT, Q, M,
$ WORK, INFO )
*
* Copy R
* Apply Q to C as Q*C
*
CALL ZGEMQRT( 'L', 'N', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |Q*C - Q*C| / |C|
*
* Apply Q to C as QT*C
*
CALL ZGEMQRT( 'L', 'C', M, N, K, NB, AF, M, T, NB, CF, M,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |QT*C - QT*C| / |C|
*
* Apply Q to D as D*Q
*
CALL ZGEMQRT( 'R', 'N', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*Q - D*Q| / |D|
*
* Apply Q to D as D*QT
*
CALL ZGEMQRT( 'R', 'C', N, M, K, NB, AF, M, T, NB, DF, N,
- $ WORK, LWORK, INFO)
+ $ WORK, INFO)
*
* Compute |D*QT - D*QT| / |D|
*