diff options
author | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
commit | e1d39294aee16fa6db9ba079b14442358217db71 (patch) | |
tree | 30e5aa04c1f6596991fda5334f63dfb9b8027849 /SRC/zlahr2.f | |
parent | 5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff) | |
download | lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.gz lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.bz2 lapack-e1d39294aee16fa6db9ba079b14442358217db71.zip |
Integrating Doxygen in comments
Diffstat (limited to 'SRC/zlahr2.f')
-rw-r--r-- | SRC/zlahr2.f | 238 |
1 files changed, 142 insertions, 96 deletions
diff --git a/SRC/zlahr2.f b/SRC/zlahr2.f index 6d0f83c2..f34cdfb3 100644 --- a/SRC/zlahr2.f +++ b/SRC/zlahr2.f @@ -1,118 +1,164 @@ - SUBROUTINE ZLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY ) +*> \brief \b ZLAHR2 * -* -- LAPACK auxiliary routine (version 3.3.1) -- -* -- LAPACK is a software package provided by Univ. of Tennessee, -- -* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* -- April 2009 -- +* =========== DOCUMENTATION =========== * -* .. Scalar Arguments .. - INTEGER K, LDA, LDT, LDY, N, NB -* .. -* .. Array Arguments .. - COMPLEX*16 A( LDA, * ), T( LDT, NB ), TAU( NB ), - $ Y( LDY, NB ) -* .. +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +* Definition +* ========== * +* SUBROUTINE ZLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY ) +* +* .. Scalar Arguments .. +* INTEGER K, LDA, LDT, LDY, N, NB +* .. +* .. Array Arguments .. +* COMPLEX*16 A( LDA, * ), T( LDT, NB ), TAU( NB ), +* $ Y( LDY, NB ) +* .. +* * Purpose * ======= * -* ZLAHR2 reduces the first NB columns of A complex general n-BY-(n-k+1) -* matrix A so that elements below the k-th subdiagonal are zero. The -* reduction is performed by an unitary similarity transformation -* Q**H * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. -* -* This is an auxiliary routine called by ZGEHRD. +*>\details \b Purpose: +*>\verbatim +*> +*> ZLAHR2 reduces the first NB columns of A complex general n-BY-(n-k+1) +*> matrix A so that elements below the k-th subdiagonal are zero. The +*> reduction is performed by an unitary similarity transformation +*> Q**H * A * Q. The routine returns the matrices V and T which determine +*> Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. +*> +*> This is an auxiliary routine called by ZGEHRD. +*> +*>\endverbatim * * Arguments * ========= * -* N (input) INTEGER -* The order of the matrix A. -* -* K (input) INTEGER -* The offset for the reduction. Elements below the k-th -* subdiagonal in the first NB columns are reduced to zero. -* K < N. -* -* NB (input) INTEGER -* The number of columns to be reduced. -* -* A (input/output) COMPLEX*16 array, dimension (LDA,N-K+1) -* On entry, the n-by-(n-k+1) general matrix A. -* On exit, the elements on and above the k-th subdiagonal in -* the first NB columns are overwritten with the corresponding -* elements of the reduced matrix; the elements below the k-th -* subdiagonal, with the array TAU, represent the matrix Q as a -* product of elementary reflectors. The other columns of A are -* unchanged. See Further Details. -* -* LDA (input) INTEGER -* The leading dimension of the array A. LDA >= max(1,N). -* -* TAU (output) COMPLEX*16 array, dimension (NB) -* The scalar factors of the elementary reflectors. See Further -* Details. +*> \param[in] N +*> \verbatim +*> N is INTEGER +*> The order of the matrix A. +*> \endverbatim +*> +*> \param[in] K +*> \verbatim +*> K is INTEGER +*> The offset for the reduction. Elements below the k-th +*> subdiagonal in the first NB columns are reduced to zero. +*> K < N. +*> \endverbatim +*> +*> \param[in] NB +*> \verbatim +*> NB is INTEGER +*> The number of columns to be reduced. +*> \endverbatim +*> +* +* Authors +* ======= * -* T (output) COMPLEX*16 array, dimension (LDT,NB) -* The upper triangular matrix T. +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. * -* LDT (input) INTEGER -* The leading dimension of the array T. LDT >= NB. +*> \date November 2011 * -* Y (output) COMPLEX*16 array, dimension (LDY,NB) -* The n-by-nb matrix Y. +*> \ingroup complex16OTHERauxiliary * -* LDY (input) INTEGER -* The leading dimension of the array Y. LDY >= N. * * Further Details * =============== +*>\details \b Further \b Details +*> \verbatim +* unchanged. See Further Details. +*> +*> LDA (input) INTEGER +*> The leading dimension of the array A. LDA >= max(1,N). +*> +*> TAU (output) COMPLEX*16 array, dimension (NB) +*> The scalar factors of the elementary reflectors. See Further +*> Details. +*> +*> T (output) COMPLEX*16 array, dimension (LDT,NB) +*> The upper triangular matrix T. +*> +*> LDT (input) INTEGER +*> The leading dimension of the array T. LDT >= NB. +*> +*> Y (output) COMPLEX*16 array, dimension (LDY,NB) +*> The n-by-nb matrix Y. +*> +*> LDY (input) INTEGER +*> The leading dimension of the array Y. LDY >= N. +*> +*> +*> The matrix Q is represented as a product of nb elementary reflectors +*> +*> Q = H(1) H(2) . . . H(nb). +*> +*> Each H(i) has the form +*> +*> H(i) = I - tau * v * v**H +*> +*> where tau is a complex scalar, and v is a complex vector with +*> v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in +*> A(i+k+1:n,i), and tau in TAU(i). +*> +*> The elements of the vectors v together form the (n-k+1)-by-nb matrix +*> V which is needed, with T and Y, to apply the transformation to the +*> unreduced part of the matrix, using an update of the form: +*> A := (I - V*T*V**H) * (A - Y*V**H). +*> +*> The contents of A on exit are illustrated by the following example +*> with n = 7, k = 3 and nb = 2: +*> +*> ( a a a a a ) +*> ( a a a a a ) +*> ( a a a a a ) +*> ( h h a a a ) +*> ( v1 h a a a ) +*> ( v1 v2 a a a ) +*> ( v1 v2 a a a ) +*> +*> where a denotes an element of the original matrix A, h denotes a +*> modified element of the upper Hessenberg matrix H, and vi denotes an +*> element of the vector defining H(i). +*> +*> This subroutine is a slight modification of LAPACK-3.0's DLAHRD +*> incorporating improvements proposed by Quintana-Orti and Van de +*> Gejin. Note that the entries of A(1:K,2:NB) differ from those +*> returned by the original LAPACK-3.0's DLAHRD routine. (This +*> subroutine is not backward compatible with LAPACK-3.0's DLAHRD.) +*> +*> References +*> ========== +*> +*> Gregorio Quintana-Orti and Robert van de Geijn, "Improving the +*> performance of reduction to Hessenberg form," ACM Transactions on +*> Mathematical Software, 32(2):180-194, June 2006. +*> +*> \endverbatim +*> +* ===================================================================== + SUBROUTINE ZLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY ) * -* The matrix Q is represented as a product of nb elementary reflectors -* -* Q = H(1) H(2) . . . H(nb). -* -* Each H(i) has the form -* -* H(i) = I - tau * v * v**H -* -* where tau is a complex scalar, and v is a complex vector with -* v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in -* A(i+k+1:n,i), and tau in TAU(i). -* -* The elements of the vectors v together form the (n-k+1)-by-nb matrix -* V which is needed, with T and Y, to apply the transformation to the -* unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V**H) * (A - Y*V**H). -* -* The contents of A on exit are illustrated by the following example -* with n = 7, k = 3 and nb = 2: -* -* ( a a a a a ) -* ( a a a a a ) -* ( a a a a a ) -* ( h h a a a ) -* ( v1 h a a a ) -* ( v1 v2 a a a ) -* ( v1 v2 a a a ) -* -* where a denotes an element of the original matrix A, h denotes a -* modified element of the upper Hessenberg matrix H, and vi denotes an -* element of the vector defining H(i). -* -* This subroutine is a slight modification of LAPACK-3.0's DLAHRD -* incorporating improvements proposed by Quintana-Orti and Van de -* Gejin. Note that the entries of A(1:K,2:NB) differ from those -* returned by the original LAPACK-3.0's DLAHRD routine. (This -* subroutine is not backward compatible with LAPACK-3.0's DLAHRD.) -* -* References -* ========== +* -- LAPACK auxiliary routine (version 3.3.1) -- +* -- LAPACK is a software package provided by Univ. of Tennessee, -- +* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- +* November 2011 * -* Gregorio Quintana-Orti and Robert van de Geijn, "Improving the -* performance of reduction to Hessenberg form," ACM Transactions on -* Mathematical Software, 32(2):180-194, June 2006. +* .. Scalar Arguments .. + INTEGER K, LDA, LDT, LDY, N, NB +* .. +* .. Array Arguments .. + COMPLEX*16 A( LDA, * ), T( LDT, NB ), TAU( NB ), + $ Y( LDY, NB ) +* .. * * ===================================================================== * |