|
173 | 173 | *> \ingroup doubleGEsolve |
174 | 174 | * |
175 | 175 | * ===================================================================== |
176 | | - SUBROUTINE DGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK, |
177 | | - $ WORK, INFO ) |
| 176 | + SUBROUTINE DGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, |
| 177 | + $ RANK, WORK, INFO ) |
178 | 178 | * |
179 | 179 | * -- LAPACK driver routine -- |
180 | 180 | * -- LAPACK is a software package provided by Univ. of Tennessee, -- |
@@ -283,20 +283,23 @@ SUBROUTINE DGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK, |
283 | 283 | * |
284 | 284 | * Scale matrix norm up to SMLNUM |
285 | 285 | * |
286 | | - CALL DLASCL( 'G', 0, 0, BNRM, SMLNUM, M, NRHS, B, LDB, INFO ) |
| 286 | + CALL DLASCL( 'G', 0, 0, BNRM, SMLNUM, M, NRHS, B, LDB, |
| 287 | + $ INFO ) |
287 | 288 | IBSCL = 1 |
288 | 289 | ELSE IF( BNRM.GT.BIGNUM ) THEN |
289 | 290 | * |
290 | 291 | * Scale matrix norm down to BIGNUM |
291 | 292 | * |
292 | | - CALL DLASCL( 'G', 0, 0, BNRM, BIGNUM, M, NRHS, B, LDB, INFO ) |
| 293 | + CALL DLASCL( 'G', 0, 0, BNRM, BIGNUM, M, NRHS, B, LDB, |
| 294 | + $ INFO ) |
293 | 295 | IBSCL = 2 |
294 | 296 | END IF |
295 | 297 | * |
296 | 298 | * Compute QR factorization with column pivoting of A: |
297 | 299 | * A * P = Q * R |
298 | 300 | * |
299 | | - CALL DGEQPF( M, N, A, LDA, JPVT, WORK( 1 ), WORK( MN+1 ), INFO ) |
| 301 | + CALL DGEQPF( M, N, A, LDA, JPVT, WORK( 1 ), WORK( MN+1 ), |
| 302 | + $ INFO ) |
300 | 303 | * |
301 | 304 | * workspace 3*N. Details of Householder rotations stored |
302 | 305 | * in WORK(1:MN). |
@@ -350,8 +353,8 @@ SUBROUTINE DGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK, |
350 | 353 | * |
351 | 354 | * B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) |
352 | 355 | * |
353 | | - CALL DORM2R( 'Left', 'Transpose', M, NRHS, MN, A, LDA, WORK( 1 ), |
354 | | - $ B, LDB, WORK( 2*MN+1 ), INFO ) |
| 356 | + CALL DORM2R( 'Left', 'Transpose', M, NRHS, MN, A, LDA, |
| 357 | + $ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), INFO ) |
355 | 358 | * |
356 | 359 | * workspace NRHS |
357 | 360 | * |
@@ -408,18 +411,22 @@ SUBROUTINE DGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK, |
408 | 411 | * Undo scaling |
409 | 412 | * |
410 | 413 | IF( IASCL.EQ.1 ) THEN |
411 | | - CALL DLASCL( 'G', 0, 0, ANRM, SMLNUM, N, NRHS, B, LDB, INFO ) |
| 414 | + CALL DLASCL( 'G', 0, 0, ANRM, SMLNUM, N, NRHS, B, LDB, |
| 415 | + $ INFO ) |
412 | 416 | CALL DLASCL( 'U', 0, 0, SMLNUM, ANRM, RANK, RANK, A, LDA, |
413 | 417 | $ INFO ) |
414 | 418 | ELSE IF( IASCL.EQ.2 ) THEN |
415 | | - CALL DLASCL( 'G', 0, 0, ANRM, BIGNUM, N, NRHS, B, LDB, INFO ) |
| 419 | + CALL DLASCL( 'G', 0, 0, ANRM, BIGNUM, N, NRHS, B, LDB, |
| 420 | + $ INFO ) |
416 | 421 | CALL DLASCL( 'U', 0, 0, BIGNUM, ANRM, RANK, RANK, A, LDA, |
417 | 422 | $ INFO ) |
418 | 423 | END IF |
419 | 424 | IF( IBSCL.EQ.1 ) THEN |
420 | | - CALL DLASCL( 'G', 0, 0, SMLNUM, BNRM, N, NRHS, B, LDB, INFO ) |
| 425 | + CALL DLASCL( 'G', 0, 0, SMLNUM, BNRM, N, NRHS, B, LDB, |
| 426 | + $ INFO ) |
421 | 427 | ELSE IF( IBSCL.EQ.2 ) THEN |
422 | | - CALL DLASCL( 'G', 0, 0, BIGNUM, BNRM, N, NRHS, B, LDB, INFO ) |
| 428 | + CALL DLASCL( 'G', 0, 0, BIGNUM, BNRM, N, NRHS, B, LDB, |
| 429 | + $ INFO ) |
423 | 430 | END IF |
424 | 431 | * |
425 | 432 | 100 CONTINUE |
|
0 commit comments