Subroutine */
| 2332 | } /* dgebd2_ */ |
| 2333 | |
| 2334 | /* Subroutine */ int dgebrd_(integer *m, integer *n, doublereal *a, integer * |
| 2335 | lda, doublereal *d__, doublereal *e, doublereal *tauq, doublereal * |
| 2336 | taup, doublereal *work, integer *lwork, integer *info) |
| 2337 | { |
| 2338 | /* System generated locals */ |
| 2339 | integer a_dim1, a_offset, i__1, i__2, i__3, i__4; |
| 2340 | |
| 2341 | /* Local variables */ |
| 2342 | static integer i__, j, nb, nx; |
| 2343 | static doublereal ws; |
| 2344 | extern /* Subroutine */ int dgemm_(char *, char *, integer *, integer *, |
| 2345 | integer *, doublereal *, doublereal *, integer *, doublereal *, |
| 2346 | integer *, doublereal *, doublereal *, integer *); |
| 2347 | static integer nbmin, iinfo, minmn; |
| 2348 | extern /* Subroutine */ int dgebd2_(integer *, integer *, doublereal *, |
| 2349 | integer *, doublereal *, doublereal *, doublereal *, doublereal *, |
| 2350 | doublereal *, integer *), dlabrd_(integer *, integer *, integer * |
| 2351 | , doublereal *, integer *, doublereal *, doublereal *, doublereal |
| 2352 | *, doublereal *, doublereal *, integer *, doublereal *, integer *) |
| 2353 | , xerbla_(char *, integer *); |
| 2354 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 2355 | integer *, integer *, ftnlen, ftnlen); |
| 2356 | static integer ldwrkx, ldwrky, lwkopt; |
| 2357 | static logical lquery; |
| 2358 | |
| 2359 | |
| 2360 | /* |
| 2361 | -- LAPACK routine (version 3.2) -- |
| 2362 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 2363 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 2364 | November 2006 |
| 2365 | |
| 2366 | |
| 2367 | Purpose |
| 2368 | ======= |
| 2369 | |
| 2370 | DGEBRD reduces a general real M-by-N matrix A to upper or lower |
| 2371 | bidiagonal form B by an orthogonal transformation: Q**T * A * P = B. |
| 2372 | |
| 2373 | If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal. |
| 2374 | |
| 2375 | Arguments |
| 2376 | ========= |
| 2377 | |
| 2378 | M (input) INTEGER |
| 2379 | The number of rows in the matrix A. M >= 0. |
| 2380 | |
| 2381 | N (input) INTEGER |
| 2382 | The number of columns in the matrix A. N >= 0. |
| 2383 | |
| 2384 | A (input/output) DOUBLE PRECISION array, dimension (LDA,N) |
| 2385 | On entry, the M-by-N general matrix to be reduced. |
| 2386 | On exit, |
| 2387 | if m >= n, the diagonal and the first superdiagonal are |
| 2388 | overwritten with the upper bidiagonal matrix B; the |
| 2389 | elements below the diagonal, with the array TAUQ, represent |
| 2390 | the orthogonal matrix Q as a product of elementary |
| 2391 | reflectors, and the elements above the first superdiagonal, |