Skip to content

Commit 3caa4c0

Browse files
authored
Merge pull request #750 from angsch/master
Fix typos in documentation
2 parents 52e4974 + cda0ad3 commit 3caa4c0

File tree

4 files changed

+24
-24
lines changed

4 files changed

+24
-24
lines changed

SRC/cgejsv.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@
304304
*> -> the minimal requirement is LWORK >= 3*N.
305305
*> -> For optimal performance,
306306
*> LWORK >= max(N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB,
307-
*> where NB is the optimal block size for CGEQP3, CGEQRF, CGELQ,
307+
*> where NB is the optimal block size for CGEQP3, CGEQRF, CGELQF,
308308
*> CUNMLQ. In general, the optimal length LWORK is computed as
309309
*> LWORK >= max(N+LWORK(CGEQP3), N+LWORK(CGESVJ),
310310
*> N+LWORK(CGELQF), 2*N+LWORK(CGEQRF), N+LWORK(CUNMLQ)).
@@ -313,7 +313,7 @@
313313
*> -> the minimal requirement is LWORK >= 3*N.
314314
*> -> For optimal performance,
315315
*> LWORK >= max(N+(N+1)*NB, 2*N,2*N+N*NB)=2*N+N*NB,
316-
*> where NB is the optimal block size for CGEQP3, CGEQRF, CGELQ,
316+
*> where NB is the optimal block size for CGEQP3, CGEQRF, CGELQF,
317317
*> CUNMLQ. In general, the optimal length LWORK is computed as
318318
*> LWORK >= max(N+LWORK(CGEQP3), LWORK(CPOCON), N+LWORK(CGESVJ),
319319
*> N+LWORK(CGELQF), 2*N+LWORK(CGEQRF), N+LWORK(CUNMLQ)).
@@ -350,7 +350,7 @@
350350
*>
351351
*> \param[out] RWORK
352352
*> \verbatim
353-
*> RWORK is REAL array, dimension (MAX(7,LWORK))
353+
*> RWORK is REAL array, dimension (MAX(7,LRWORK))
354354
*> On exit,
355355
*> RWORK(1) = Determines the scaling factor SCALE = RWORK(2) / RWORK(1)
356356
*> such that SCALE*SVA(1:N) are the computed singular values

SRC/dgejsv.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
*>
225225
*> \param[out] U
226226
*> \verbatim
227-
*> U is DOUBLE PRECISION array, dimension ( LDU, N )
227+
*> U is DOUBLE PRECISION array, dimension ( LDU, N ) or ( LDU, M )
228228
*> If JOBU = 'U', then U contains on exit the M-by-N matrix of
229229
*> the left singular vectors.
230230
*> If JOBU = 'F', then U contains on exit the M-by-M matrix of
@@ -271,7 +271,7 @@
271271
*>
272272
*> \param[out] WORK
273273
*> \verbatim
274-
*> WORK is DOUBLE PRECISION array, dimension (LWORK)
274+
*> WORK is DOUBLE PRECISION array, dimension (MAX(7,LWORK))
275275
*> On exit, if N > 0 .AND. M > 0 (else not referenced),
276276
*> WORK(1) = SCALE = WORK(2) / WORK(1) is the scaling factor such
277277
*> that SCALE*SVA(1:N) are the computed singular values

SRC/sgejsv.f

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
*>
225225
*> \param[out] U
226226
*> \verbatim
227-
*> U is REAL array, dimension ( LDU, N )
227+
*> U is REAL array, dimension ( LDU, N ) or ( LDU, M )
228228
*> If JOBU = 'U', then U contains on exit the M-by-N matrix of
229229
*> the left singular vectors.
230230
*> If JOBU = 'F', then U contains on exit the M-by-M matrix of
@@ -271,7 +271,7 @@
271271
*>
272272
*> \param[out] WORK
273273
*> \verbatim
274-
*> WORK is REAL array, dimension (LWORK)
274+
*> WORK is REAL array, dimension (MAX(7,LWORK))
275275
*> On exit,
276276
*> WORK(1) = SCALE = WORK(2) / WORK(1) is the scaling factor such
277277
*> that SCALE*SVA(1:N) are the computed singular values
@@ -318,36 +318,36 @@
318318
*> LWORK >= max(2*M+N,4*N+1,7). This is the minimal requirement.
319319
*> ->> For optimal performance (blocked code) the optimal value
320320
*> is LWORK >= max(2*M+N,3*N+(N+1)*NB,7). Here NB is the optimal
321-
*> block size for DGEQP3 and DGEQRF.
321+
*> block size for SGEQP3 and SGEQRF.
322322
*> In general, optimal LWORK is computed as
323-
*> LWORK >= max(2*M+N,N+LWORK(DGEQP3),N+LWORK(DGEQRF), 7).
323+
*> LWORK >= max(2*M+N,N+LWORK(SGEQP3),N+LWORK(SGEQRF), 7).
324324
*> -> .. an estimate of the scaled condition number of A is
325325
*> required (JOBA='E', 'G'). In this case, LWORK is the maximum
326326
*> of the above and N*N+4*N, i.e. LWORK >= max(2*M+N,N*N+4*N,7).
327327
*> ->> For optimal performance (blocked code) the optimal value
328328
*> is LWORK >= max(2*M+N,3*N+(N+1)*NB, N*N+4*N, 7).
329329
*> In general, the optimal length LWORK is computed as
330-
*> LWORK >= max(2*M+N,N+LWORK(DGEQP3),N+LWORK(DGEQRF),
331-
*> N+N*N+LWORK(DPOCON),7).
330+
*> LWORK >= max(2*M+N,N+LWORK(SGEQP3),N+LWORK(SGEQRF),
331+
*> N+N*N+LWORK(SPOCON),7).
332332
*>
333333
*> If SIGMA and the right singular vectors are needed (JOBV = 'V'),
334334
*> -> the minimal requirement is LWORK >= max(2*M+N,4*N+1,7).
335335
*> -> For optimal performance, LWORK >= max(2*M+N,3*N+(N+1)*NB,7),
336-
*> where NB is the optimal block size for DGEQP3, DGEQRF, DGELQ,
337-
*> DORMLQ. In general, the optimal length LWORK is computed as
338-
*> LWORK >= max(2*M+N,N+LWORK(DGEQP3), N+LWORK(DPOCON),
339-
*> N+LWORK(DGELQ), 2*N+LWORK(DGEQRF), N+LWORK(DORMLQ)).
336+
*> where NB is the optimal block size for SGEQP3, SGEQRF, SGELQF,
337+
*> SORMLQ. In general, the optimal length LWORK is computed as
338+
*> LWORK >= max(2*M+N,N+LWORK(SGEQP3), N+LWORK(SPOCON),
339+
*> N+LWORK(SGELQF), 2*N+LWORK(SGEQRF), N+LWORK(SORMLQ)).
340340
*>
341341
*> If SIGMA and the left singular vectors are needed
342342
*> -> the minimal requirement is LWORK >= max(2*M+N,4*N+1,7).
343343
*> -> For optimal performance:
344344
*> if JOBU = 'U' :: LWORK >= max(2*M+N,3*N+(N+1)*NB,7),
345345
*> if JOBU = 'F' :: LWORK >= max(2*M+N,3*N+(N+1)*NB,N+M*NB,7),
346-
*> where NB is the optimal block size for DGEQP3, DGEQRF, DORMQR.
346+
*> where NB is the optimal block size for SGEQP3, SGEQRF, SORMQR.
347347
*> In general, the optimal length LWORK is computed as
348-
*> LWORK >= max(2*M+N,N+LWORK(DGEQP3),N+LWORK(DPOCON),
349-
*> 2*N+LWORK(DGEQRF), N+LWORK(DORMQR)).
350-
*> Here LWORK(DORMQR) equals N*NB (for JOBU = 'U') or
348+
*> LWORK >= max(2*M+N,N+LWORK(SGEQP3),N+LWORK(SPOCON),
349+
*> 2*N+LWORK(SGEQRF), N+LWORK(SORMQR)).
350+
*> Here LWORK(SORMQR) equals N*NB (for JOBU = 'U') or
351351
*> M*NB (for JOBU = 'F').
352352
*>
353353
*> If the full SVD is needed: (JOBU = 'U' or JOBU = 'F') and
@@ -357,12 +357,12 @@
357357
*> LWORK >= max(2*M+N, 4*N+N*N,2*N+N*N+6).
358358
*> -> For optimal performance, LWORK should be additionally
359359
*> larger than N+M*NB, where NB is the optimal block size
360-
*> for DORMQR.
360+
*> for SORMQR.
361361
*> \endverbatim
362362
*>
363363
*> \param[out] IWORK
364364
*> \verbatim
365-
*> IWORK is INTEGER array, dimension (M+3*N).
365+
*> IWORK is INTEGER array, dimension (MAX(3,M+3*N)).
366366
*> On exit,
367367
*> IWORK(1) = the numerical rank determined after the initial
368368
*> QR factorization with pivoting. See the descriptions

SRC/zgejsv.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@
304304
*> -> the minimal requirement is LWORK >= 3*N.
305305
*> -> For optimal performance,
306306
*> LWORK >= max(N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB,
307-
*> where NB is the optimal block size for ZGEQP3, ZGEQRF, ZGELQ,
307+
*> where NB is the optimal block size for ZGEQP3, ZGEQRF, ZGELQF,
308308
*> ZUNMLQ. In general, the optimal length LWORK is computed as
309309
*> LWORK >= max(N+LWORK(ZGEQP3), N+LWORK(ZGESVJ),
310310
*> N+LWORK(ZGELQF), 2*N+LWORK(ZGEQRF), N+LWORK(ZUNMLQ)).
@@ -313,7 +313,7 @@
313313
*> -> the minimal requirement is LWORK >= 3*N.
314314
*> -> For optimal performance,
315315
*> LWORK >= max(N+(N+1)*NB, 2*N,2*N+N*NB)=2*N+N*NB,
316-
*> where NB is the optimal block size for ZGEQP3, ZGEQRF, ZGELQ,
316+
*> where NB is the optimal block size for ZGEQP3, ZGEQRF, ZGELQF,
317317
*> ZUNMLQ. In general, the optimal length LWORK is computed as
318318
*> LWORK >= max(N+LWORK(ZGEQP3), LWORK(ZPOCON), N+LWORK(ZGESVJ),
319319
*> N+LWORK(ZGELQF), 2*N+LWORK(ZGEQRF), N+LWORK(ZUNMLQ)).
@@ -349,7 +349,7 @@
349349
*>
350350
*> \param[out] RWORK
351351
*> \verbatim
352-
*> RWORK is DOUBLE PRECISION array, dimension (MAX(7,LWORK))
352+
*> RWORK is DOUBLE PRECISION array, dimension (MAX(7,LRWORK))
353353
*> On exit,
354354
*> RWORK(1) = Determines the scaling factor SCALE = RWORK(2) / RWORK(1)
355355
*> such that SCALE*SVA(1:N) are the computed singular values

0 commit comments

Comments
 (0)