| @@ -52,10 +52,10 @@ | |||||
| *> are computed and stored in the arrays U and V, respectively. The diagonal | *> are computed and stored in the arrays U and V, respectively. The diagonal | ||||
| *> of [SIGMA] is computed and stored in the array SVA. | *> of [SIGMA] is computed and stored in the array SVA. | ||||
| *> \endverbatim | *> \endverbatim | ||||
| *> | |||||
| *> Arguments: | |||||
| *> ========== | |||||
| *> | |||||
| * | |||||
| * Arguments: | |||||
| * ========== | |||||
| * | |||||
| *> \param[in] JOBA | *> \param[in] JOBA | ||||
| *> \verbatim | *> \verbatim | ||||
| *> JOBA is CHARACTER*1 | *> JOBA is CHARACTER*1 | ||||
| @@ -151,7 +151,7 @@ | |||||
| *> transposed A if A^* seems to be better with respect to convergence. | *> transposed A if A^* seems to be better with respect to convergence. | ||||
| *> If the matrix is not square, JOBT is ignored. | *> If the matrix is not square, JOBT is ignored. | ||||
| *> The decision is based on two values of entropy over the adjoint | *> The decision is based on two values of entropy over the adjoint | ||||
| *> orbit of A^* * A. See the descriptions of WORK(6) and WORK(7). | |||||
| *> orbit of A^* * A. See the descriptions of RWORK(6) and RWORK(7). | |||||
| *> = 'T': transpose if entropy test indicates possibly faster | *> = 'T': transpose if entropy test indicates possibly faster | ||||
| *> convergence of Jacobi process if A^* is taken as input. If A is | *> convergence of Jacobi process if A^* is taken as input. If A is | ||||
| *> replaced with A^*, then the row pivoting is included automatically. | *> replaced with A^*, then the row pivoting is included automatically. | ||||
| @@ -209,11 +209,11 @@ | |||||
| *> \verbatim | *> \verbatim | ||||
| *> SVA is REAL array, dimension (N) | *> SVA is REAL array, dimension (N) | ||||
| *> On exit, | *> On exit, | ||||
| *> - For WORK(1)/WORK(2) = ONE: The singular values of A. During the | |||||
| *> computation SVA contains Euclidean column norms of the | |||||
| *> - For RWORK(1)/RWORK(2) = ONE: The singular values of A. During | |||||
| *> the computation SVA contains Euclidean column norms of the | |||||
| *> iterated matrices in the array A. | *> iterated matrices in the array A. | ||||
| *> - For WORK(1) .NE. WORK(2): The singular values of A are | |||||
| *> (WORK(1)/WORK(2)) * SVA(1:N). This factored form is used if | |||||
| *> - For RWORK(1) .NE. RWORK(2): The singular values of A are | |||||
| *> (RWORK(1)/RWORK(2)) * SVA(1:N). This factored form is used if | |||||
| *> sigma_max(A) overflows or if small singular values have been | *> sigma_max(A) overflows or if small singular values have been | ||||
| *> saved from underflow by scaling the input matrix A. | *> saved from underflow by scaling the input matrix A. | ||||
| *> - If JOBR='R' then some of the singular values may be returned | *> - If JOBR='R' then some of the singular values may be returned | ||||
| @@ -104,6 +104,7 @@ | |||||
| *> \endverbatim | *> \endverbatim | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= MB*M. | *> The dimension of the array WORK. LWORK >= MB*M. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -106,6 +106,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= NB*N. | *> The dimension of the array WORK. LWORK >= NB*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -212,13 +212,13 @@ | |||||
| *> LRWORK is INTEGER | *> LRWORK is INTEGER | ||||
| *> The dimension of the array RWORK. | *> The dimension of the array RWORK. | ||||
| *> | *> | ||||
| *> If LRWORK = -1, then a workspace query is assumed; the routine | |||||
| *> If LRWORK=-1, then a workspace query is assumed; the routine | |||||
| *> only calculates the optimal size of the WORK and RWORK | *> only calculates the optimal size of the WORK and RWORK | ||||
| *> arrays, returns this value as the first entry of the WORK | *> arrays, returns this value as the first entry of the WORK | ||||
| *> and RWORK array, respectively, and no error message related | *> and RWORK array, respectively, and no error message related | ||||
| *> to LWORK or LRWORK is issued by XERBLA. | *> to LWORK or LRWORK is issued by XERBLA. | ||||
| *> \endverbatim | *> \endverbatim | ||||
| * | |||||
| *> | |||||
| *> \param[out] IWORK | *> \param[out] IWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> IWORK is INTEGER array, dimension (M-MIN(P,M-P,Q,M-Q)) | *> IWORK is INTEGER array, dimension (M-MIN(P,M-P,Q,M-Q)) | ||||
| @@ -133,6 +133,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= (M+NB)*N. | *> The dimension of the array WORK. LWORK >= (M+NB)*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed. | *> If LWORK = -1, then a workspace query is assumed. | ||||
| *> The routine only calculates the optimal size of the WORK | *> The routine only calculates the optimal size of the WORK | ||||
| @@ -302,4 +303,4 @@ | |||||
| * | * | ||||
| * End of CUNGTSQR | * End of CUNGTSQR | ||||
| * | * | ||||
| END | |||||
| END | |||||
| @@ -104,6 +104,7 @@ | |||||
| *> \endverbatim | *> \endverbatim | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= MB*M. | *> The dimension of the array WORK. LWORK >= MB*M. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -106,6 +106,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= NB*N. | *> The dimension of the array WORK. LWORK >= NB*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -133,6 +133,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= (M+NB)*N. | *> The dimension of the array WORK. LWORK >= (M+NB)*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed. | *> If LWORK = -1, then a workspace query is assumed. | ||||
| *> The routine only calculates the optimal size of the WORK | *> The routine only calculates the optimal size of the WORK | ||||
| @@ -301,4 +302,4 @@ | |||||
| * | * | ||||
| * End of DORGTSQR | * End of DORGTSQR | ||||
| * | * | ||||
| END | |||||
| END | |||||
| @@ -104,6 +104,7 @@ | |||||
| *> \endverbatim | *> \endverbatim | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= MB * M. | *> The dimension of the array WORK. LWORK >= MB * M. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -106,6 +106,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= NB*N. | *> The dimension of the array WORK. LWORK >= NB*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -133,6 +133,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= (M+NB)*N. | *> The dimension of the array WORK. LWORK >= (M+NB)*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed. | *> If LWORK = -1, then a workspace query is assumed. | ||||
| *> The routine only calculates the optimal size of the WORK | *> The routine only calculates the optimal size of the WORK | ||||
| @@ -301,4 +302,4 @@ | |||||
| * | * | ||||
| * End of SORGTSQR | * End of SORGTSQR | ||||
| * | * | ||||
| END | |||||
| END | |||||
| @@ -52,10 +52,10 @@ | |||||
| *> are computed and stored in the arrays U and V, respectively. The diagonal | *> are computed and stored in the arrays U and V, respectively. The diagonal | ||||
| *> of [SIGMA] is computed and stored in the array SVA. | *> of [SIGMA] is computed and stored in the array SVA. | ||||
| *> \endverbatim | *> \endverbatim | ||||
| *> | |||||
| *> Arguments: | |||||
| *> ========== | |||||
| *> | |||||
| * | |||||
| * Arguments: | |||||
| * ========== | |||||
| * | |||||
| *> \param[in] JOBA | *> \param[in] JOBA | ||||
| *> \verbatim | *> \verbatim | ||||
| *> JOBA is CHARACTER*1 | *> JOBA is CHARACTER*1 | ||||
| @@ -151,7 +151,7 @@ | |||||
| *> transposed A if A^* seems to be better with respect to convergence. | *> transposed A if A^* seems to be better with respect to convergence. | ||||
| *> If the matrix is not square, JOBT is ignored. | *> If the matrix is not square, JOBT is ignored. | ||||
| *> The decision is based on two values of entropy over the adjoint | *> The decision is based on two values of entropy over the adjoint | ||||
| *> orbit of A^* * A. See the descriptions of WORK(6) and WORK(7). | |||||
| *> orbit of A^* * A. See the descriptions of RWORK(6) and RWORK(7). | |||||
| *> = 'T': transpose if entropy test indicates possibly faster | *> = 'T': transpose if entropy test indicates possibly faster | ||||
| *> convergence of Jacobi process if A^* is taken as input. If A is | *> convergence of Jacobi process if A^* is taken as input. If A is | ||||
| *> replaced with A^*, then the row pivoting is included automatically. | *> replaced with A^*, then the row pivoting is included automatically. | ||||
| @@ -209,11 +209,11 @@ | |||||
| *> \verbatim | *> \verbatim | ||||
| *> SVA is DOUBLE PRECISION array, dimension (N) | *> SVA is DOUBLE PRECISION array, dimension (N) | ||||
| *> On exit, | *> On exit, | ||||
| *> - For WORK(1)/WORK(2) = ONE: The singular values of A. During the | |||||
| *> computation SVA contains Euclidean column norms of the | |||||
| *> - For RWORK(1)/RWORK(2) = ONE: The singular values of A. During | |||||
| *> the computation SVA contains Euclidean column norms of the | |||||
| *> iterated matrices in the array A. | *> iterated matrices in the array A. | ||||
| *> - For WORK(1) .NE. WORK(2): The singular values of A are | |||||
| *> (WORK(1)/WORK(2)) * SVA(1:N). This factored form is used if | |||||
| *> - For RWORK(1) .NE. RWORK(2): The singular values of A are | |||||
| *> (RWORK(1)/RWORK(2)) * SVA(1:N). This factored form is used if | |||||
| *> sigma_max(A) overflows or if small singular values have been | *> sigma_max(A) overflows or if small singular values have been | ||||
| *> saved from underflow by scaling the input matrix A. | *> saved from underflow by scaling the input matrix A. | ||||
| *> - If JOBR='R' then some of the singular values may be returned | *> - If JOBR='R' then some of the singular values may be returned | ||||
| @@ -104,6 +104,7 @@ | |||||
| *> \endverbatim | *> \endverbatim | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= MB*M. | *> The dimension of the array WORK. LWORK >= MB*M. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -106,6 +106,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= NB*N. | *> The dimension of the array WORK. LWORK >= NB*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed; the routine | *> If LWORK = -1, then a workspace query is assumed; the routine | ||||
| *> only calculates the optimal size of the WORK array, returns | *> only calculates the optimal size of the WORK array, returns | ||||
| @@ -211,13 +211,13 @@ | |||||
| *> LRWORK is INTEGER | *> LRWORK is INTEGER | ||||
| *> The dimension of the array RWORK. | *> The dimension of the array RWORK. | ||||
| *> | *> | ||||
| *> If LRWORK = -1, then a workspace query is assumed; the routine | |||||
| *> If LRWORK=-1, then a workspace query is assumed; the routine | |||||
| *> only calculates the optimal size of the WORK and RWORK | *> only calculates the optimal size of the WORK and RWORK | ||||
| *> arrays, returns this value as the first entry of the WORK | *> arrays, returns this value as the first entry of the WORK | ||||
| *> and RWORK array, respectively, and no error message related | *> and RWORK array, respectively, and no error message related | ||||
| *> to LWORK or LRWORK is issued by XERBLA. | *> to LWORK or LRWORK is issued by XERBLA. | ||||
| *> \endverbatim | *> \endverbatim | ||||
| * | |||||
| *> | |||||
| *> \param[out] IWORK | *> \param[out] IWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> IWORK is INTEGER array, dimension (M-MIN(P,M-P,Q,M-Q)) | *> IWORK is INTEGER array, dimension (M-MIN(P,M-P,Q,M-Q)) | ||||
| @@ -133,6 +133,7 @@ | |||||
| *> | *> | ||||
| *> \param[in] LWORK | *> \param[in] LWORK | ||||
| *> \verbatim | *> \verbatim | ||||
| *> LWORK is INTEGER | |||||
| *> The dimension of the array WORK. LWORK >= (M+NB)*N. | *> The dimension of the array WORK. LWORK >= (M+NB)*N. | ||||
| *> If LWORK = -1, then a workspace query is assumed. | *> If LWORK = -1, then a workspace query is assumed. | ||||
| *> The routine only calculates the optimal size of the WORK | *> The routine only calculates the optimal size of the WORK | ||||
| @@ -302,4 +303,4 @@ | |||||
| * | * | ||||
| * End of ZUNGTSQR | * End of ZUNGTSQR | ||||
| * | * | ||||
| END | |||||
| END | |||||