version 1.6, 2010/08/07 13:22:20
|
version 1.10, 2011/07/22 07:38:08
|
Line 3
|
Line 3
|
$ LDGNUM, POLES, DIFL, DIFR, Z, K, C, S, WORK, |
$ LDGNUM, POLES, DIFL, DIFR, Z, K, C, S, WORK, |
$ IWORK, INFO ) |
$ IWORK, INFO ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.2.2) -- |
* -- LAPACK auxiliary routine (version 3.3.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..-- |
* June 2010 |
* November 2010 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, |
INTEGER GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, |
Line 34
|
Line 34
|
* |
* |
* DLASD6 computes the SVD as follows: |
* DLASD6 computes the SVD as follows: |
* |
* |
* ( D1(in) 0 0 0 ) |
* ( D1(in) 0 0 0 ) |
* B = U(in) * ( Z1' a Z2' b ) * VT(in) |
* B = U(in) * ( Z1**T a Z2**T b ) * VT(in) |
* ( 0 0 D2(in) 0 ) |
* ( 0 0 D2(in) 0 ) |
* |
* |
* = U(out) * ( D(out) 0) * VT(out) |
* = U(out) * ( D(out) 0) * VT(out) |
* |
* |
* where Z' = (Z1' a Z2' b) = u' VT', and u is a vector of dimension M |
* where Z**T = (Z1**T a Z2**T b) = u**T VT**T, and u is a vector of dimension M |
* with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros |
* with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros |
* elsewhere; and the entry b is empty if SQRE = 0. |
* elsewhere; and the entry b is empty if SQRE = 0. |
* |
* |
Line 282
|
Line 282
|
CALL DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDGNUM, |
CALL DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDGNUM, |
$ WORK( ISIGMA ), WORK( IW ), INFO ) |
$ WORK( ISIGMA ), WORK( IW ), INFO ) |
* |
* |
|
* Handle error returned |
|
* |
|
IF( INFO.NE.0 ) THEN |
|
CALL XERBLA( 'DLASD8', -INFO ) |
|
RETURN |
|
END IF |
|
* |
* Save the poles if ICOMPQ = 1. |
* Save the poles if ICOMPQ = 1. |
* |
* |
IF( ICOMPQ.EQ.1 ) THEN |
IF( ICOMPQ.EQ.1 ) THEN |