version 1.1, 2010/01/26 15:22:45
|
version 1.8, 2011/07/22 07:38:14
|
Line 1
|
Line 1
|
SUBROUTINE ZGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK, |
SUBROUTINE ZGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK, |
$ INFO ) |
$ INFO ) |
* |
* |
* -- LAPACK driver routine (version 3.2) -- |
* -- LAPACK driver routine (version 3.3.1) -- |
* -- 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 2006 |
* -- April 2011 -- |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER TRANS |
CHARACTER TRANS |
Line 278
|
Line 278
|
* |
* |
* Least-Squares Problem min || A * X - B || |
* Least-Squares Problem min || A * X - B || |
* |
* |
* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) |
* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) |
* |
* |
CALL ZUNMQR( 'Left', 'Conjugate transpose', M, NRHS, N, A, |
CALL ZUNMQR( 'Left', 'Conjugate transpose', M, NRHS, N, A, |
$ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, |
$ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, |
Line 299
|
Line 299
|
* |
* |
ELSE |
ELSE |
* |
* |
* Overdetermined system of equations A' * X = B |
* Overdetermined system of equations A**H * X = B |
* |
* |
* B(1:N,1:NRHS) := inv(R') * B(1:N,1:NRHS) |
* B(1:N,1:NRHS) := inv(R**H) * B(1:N,1:NRHS) |
* |
* |
CALL ZTRTRS( 'Upper', 'Conjugate transpose','Non-unit', |
CALL ZTRTRS( 'Upper', 'Conjugate transpose','Non-unit', |
$ N, NRHS, A, LDA, B, LDB, INFO ) |
$ N, NRHS, A, LDA, B, LDB, INFO ) |
Line 360
|
Line 360
|
30 CONTINUE |
30 CONTINUE |
40 CONTINUE |
40 CONTINUE |
* |
* |
* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) |
* B(1:N,1:NRHS) := Q(1:N,:)**H * B(1:M,1:NRHS) |
* |
* |
CALL ZUNMLQ( 'Left', 'Conjugate transpose', N, NRHS, M, A, |
CALL ZUNMLQ( 'Left', 'Conjugate transpose', N, NRHS, M, A, |
$ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, |
$ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, |
Line 372
|
Line 372
|
* |
* |
ELSE |
ELSE |
* |
* |
* overdetermined system min || A' * X - B || |
* overdetermined system min || A**H * X - B || |
* |
* |
* B(1:N,1:NRHS) := Q * B(1:N,1:NRHS) |
* B(1:N,1:NRHS) := Q * B(1:N,1:NRHS) |
* |
* |
Line 382
|
Line 382
|
* |
* |
* workspace at least NRHS, optimally NRHS*NB |
* workspace at least NRHS, optimally NRHS*NB |
* |
* |
* B(1:M,1:NRHS) := inv(L') * B(1:M,1:NRHS) |
* B(1:M,1:NRHS) := inv(L**H) * B(1:M,1:NRHS) |
* |
* |
CALL ZTRTRS( 'Lower', 'Conjugate transpose', 'Non-unit', |
CALL ZTRTRS( 'Lower', 'Conjugate transpose', 'Non-unit', |
$ M, NRHS, A, LDA, B, LDB, INFO ) |
$ M, NRHS, A, LDA, B, LDB, INFO ) |