Subroutine */
| 655 | } /* cgebal_ */ |
| 656 | |
| 657 | /* Subroutine */ int cgebd2_(integer *m, integer *n, complex *a, integer *lda, |
| 658 | real *d__, real *e, complex *tauq, complex *taup, complex *work, |
| 659 | integer *info) |
| 660 | { |
| 661 | /* System generated locals */ |
| 662 | integer a_dim1, a_offset, i__1, i__2, i__3; |
| 663 | complex q__1; |
| 664 | |
| 665 | /* Local variables */ |
| 666 | static integer i__; |
| 667 | static complex alpha; |
| 668 | extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex * |
| 669 | , integer *, complex *, complex *, integer *, complex *), |
| 670 | clarfg_(integer *, complex *, complex *, integer *, complex *), |
| 671 | clacgv_(integer *, complex *, integer *), xerbla_(char *, integer |
| 672 | *); |
| 673 | |
| 674 | |
| 675 | /* |
| 676 | -- LAPACK routine (version 3.2) -- |
| 677 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 678 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 679 | November 2006 |
| 680 | |
| 681 | |
| 682 | Purpose |
| 683 | ======= |
| 684 | |
| 685 | CGEBD2 reduces a complex general m by n matrix A to upper or lower |
| 686 | real bidiagonal form B by a unitary transformation: Q' * A * P = B. |
| 687 | |
| 688 | If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal. |
| 689 | |
| 690 | Arguments |
| 691 | ========= |
| 692 | |
| 693 | M (input) INTEGER |
| 694 | The number of rows in the matrix A. M >= 0. |
| 695 | |
| 696 | N (input) INTEGER |
| 697 | The number of columns in the matrix A. N >= 0. |
| 698 | |
| 699 | A (input/output) COMPLEX array, dimension (LDA,N) |
| 700 | On entry, the m by n general matrix to be reduced. |
| 701 | On exit, |
| 702 | if m >= n, the diagonal and the first superdiagonal are |
| 703 | overwritten with the upper bidiagonal matrix B; the |
| 704 | elements below the diagonal, with the array TAUQ, represent |
| 705 | the unitary matrix Q as a product of elementary |
| 706 | reflectors, and the elements above the first superdiagonal, |
| 707 | with the array TAUP, represent the unitary matrix P as |
| 708 | a product of elementary reflectors; |
| 709 | if m < n, the diagonal and the first subdiagonal are |
| 710 | overwritten with the lower bidiagonal matrix B; the |
| 711 | elements below the first subdiagonal, with the array TAUQ, |
| 712 | represent the unitary matrix Q as a product of |
| 713 | elementary reflectors, and the elements above the diagonal, |
| 714 | with the array TAUP, represent the unitary matrix P as |