version 1.2, 2010/04/21 13:45:15
|
version 1.8, 2011/07/22 07:38:06
|
Line 1
|
Line 1
|
SUBROUTINE DLABRD( M, N, NB, A, LDA, D, E, TAUQ, TAUP, X, LDX, Y, |
SUBROUTINE DLABRD( M, N, NB, A, LDA, D, E, TAUQ, TAUP, X, LDX, Y, |
$ LDY ) |
$ LDY ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.2) -- |
* -- LAPACK auxiliary 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 .. |
INTEGER LDA, LDX, LDY, M, N, NB |
INTEGER LDA, LDX, LDY, M, N, NB |
Line 19
|
Line 19
|
* |
* |
* DLABRD reduces the first NB rows and columns of a real general |
* DLABRD reduces the first NB rows and columns of a real general |
* m by n matrix A to upper or lower bidiagonal form by an orthogonal |
* m by n matrix A to upper or lower bidiagonal form by an orthogonal |
* transformation Q' * A * P, and returns the matrices X and Y which |
* transformation Q**T * A * P, and returns the matrices X and Y which |
* are needed to apply the transformation to the unreduced part of A. |
* are needed to apply the transformation to the unreduced part of A. |
* |
* |
* If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower |
* If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower |
Line 81
|
Line 81
|
* of A. |
* of A. |
* |
* |
* LDX (input) INTEGER |
* LDX (input) INTEGER |
* The leading dimension of the array X. LDX >= M. |
* The leading dimension of the array X. LDX >= max(1,M). |
* |
* |
* Y (output) DOUBLE PRECISION array, dimension (LDY,NB) |
* Y (output) DOUBLE PRECISION array, dimension (LDY,NB) |
* The n-by-nb matrix Y required to update the unreduced part |
* The n-by-nb matrix Y required to update the unreduced part |
* of A. |
* of A. |
* |
* |
* LDY (input) INTEGER |
* LDY (input) INTEGER |
* The leading dimension of the array Y. LDY >= N. |
* The leading dimension of the array Y. LDY >= max(1,N). |
* |
* |
* Further Details |
* Further Details |
* =============== |
* =============== |
Line 100
|
Line 100
|
* |
* |
* Each H(i) and G(i) has the form: |
* Each H(i) and G(i) has the form: |
* |
* |
* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' |
* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T |
* |
* |
* where tauq and taup are real scalars, and v and u are real vectors. |
* where tauq and taup are real scalars, and v and u are real vectors. |
* |
* |
Line 113
|
Line 113
|
* A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). |
* A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). |
* |
* |
* The elements of the vectors v and u together form the m-by-nb matrix |
* The elements of the vectors v and u together form the m-by-nb matrix |
* V and the nb-by-n matrix U' which are needed, with X and Y, to apply |
* V and the nb-by-n matrix U**T which are needed, with X and Y, to apply |
* the transformation to the unreduced part of the matrix, using a block |
* the transformation to the unreduced part of the matrix, using a block |
* update of the form: A := A - V*Y' - X*U'. |
* update of the form: A := A - V*Y**T - X*U**T. |
* |
* |
* The contents of A on exit are illustrated by the following examples |
* The contents of A on exit are illustrated by the following examples |
* with nb = 2: |
* with nb = 2: |