Bastien ROUCARIES <[email protected]> writes:
> Beta is misaligned in the man page of zggev.
>
> I have just cook a patch. I know it is obvious but it ease the
> reading. Other man page of the serie has the same problem
Indeed, this is a minor but rather annoying issue, rather widespread
amongst the LaPack manual pages, as shown by
cd lapack-3.2.1/man/manl
for i in *; do
o=$(sed -n '/^[A-Z][A-Z0-9]* *(/{h;n;/^[A-Z][A-Z0-9]* *(/{x;p;x;p}}' $i)
[ "$o" ] && {
echo $i
echo "$o"
}
done
However, most of this can be fixed by issuing
sed -i '/^\.TP /{n;/^[A-Z][A-Z0-9]* *(/{:cont;n;/^[A-Z][A-Z0-9]* *(/{i.TQ
bcont}}}' *
in the manl directory. The obvious remaining offenders are the
[sdcz]larrv.l pages (escaping the sed fix due to their undocumented
MINRGP argument), which are also seriously challenged with respect to
the documentation of their INFO argument. I attach 4 proof-of-concept
patches to fix up these, but I admit that I've got no idea about what
IINFO is, so take that part of the patches with extra grains of salt.
Also, the INFO documentation generally isn't structured into .TPs in
other functions, but that's less of a problem in the simpler cases.
Still, it would be nice (and probably reasonable to automate) to fix up
those, too.
Of course these manual pages might be automatically generated from the
Fortran source files, in which case fixing the generation process would
be preferred, but I couldn't find any information regarding this.
--
Thanks,
Feri.
--- manl.orig/slarrv.l 2009-01-03 00:02:29.000000000 +0100
+++ manl/slarrv.l 2011-02-14 18:39:51.011505086 +0100
@@ -41,6 +41,7 @@
The order of the matrix. N >= 0.
.TP 8
VL (input) REAL
+.TQ
VU (input) REAL
Lower and upper bounds of the interval that contains the desired
eigenvalues. VL < VU. Needed to compute gaps on the left or right
@@ -70,6 +71,7 @@
The total number of input eigenvalues. 0 <= M <= N.
.TP 8
DOL (input) INTEGER
+.TQ
DOU (input) INTEGER
If the user wants to compute only selected eigenvectors from all
the eigenvalues supplied, he can specify an index range DOL:DOU.
@@ -83,6 +85,7 @@
MINRGP (input) REAL
.TP 8
RTOL1 (input) REAL
+.TQ
RTOL2 (input) REAL
Parameters for bisection.
RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) )
@@ -143,14 +146,20 @@
IWORK (workspace) INTEGER array, dimension (7*N)
.TP 8
INFO (output) INTEGER
+.RS
+.PD 0
+.TP 6
= 0: successful exit
+.TP 6
> 0: A problem occured in SLARRV.
-.br
+.TP 6
< 0: One of the called subroutines signaled an internal problem.
Needs inspection of the corresponding parameter IINFO
for further information.
+.RS
.TP 6
=-1: Problem in SLARRB when refining a child\(aqs eigenvalues.
+.TP 6
=-2: Problem in SLARRF when computing the RRR of a child.
When a child is inside a tight cluster, it can be difficult
to find an RRR. A partial remedy from the user\(aqs point of
@@ -158,10 +167,13 @@
However, as the orthogonality of the computed vectors is
proportional to 1/MINRGP, the user should be aware that
he might be trading in precision when he decreases MINRGP.
+.TP 6
=-3: Problem in SLARRB when refining a single eigenvalue
after the Rayleigh correction was rejected.
+.TP 6
= 5: The Rayleigh Quotient Iteration failed to converge to
full accuracy in MAXITR steps.
+.PD
.SH FURTHER DETAILS
Based on contributions by
.br
--- manl.orig/dlarrv.l 2009-01-03 00:02:27.000000000 +0100
+++ manl/dlarrv.l 2011-02-14 18:40:32.304929531 +0100
@@ -41,6 +41,7 @@
The order of the matrix. N >= 0.
.TP 8
VL (input) DOUBLE PRECISION
+.TQ
VU (input) DOUBLE PRECISION
Lower and upper bounds of the interval that contains the desired
eigenvalues. VL < VU. Needed to compute gaps on the left or right
@@ -70,6 +71,7 @@
The total number of input eigenvalues. 0 <= M <= N.
.TP 8
DOL (input) INTEGER
+.TQ
DOU (input) INTEGER
If the user wants to compute only selected eigenvectors from all
the eigenvalues supplied, he can specify an index range DOL:DOU.
@@ -83,6 +85,7 @@
MINRGP (input) DOUBLE PRECISION
.TP 8
RTOL1 (input) DOUBLE PRECISION
+.TQ
RTOL2 (input) DOUBLE PRECISION
Parameters for bisection.
RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) )
@@ -143,14 +146,20 @@
IWORK (workspace) INTEGER array, dimension (7*N)
.TP 8
INFO (output) INTEGER
+.RS
+.PD 0
+.TP 6
= 0: successful exit
+.TP 6
> 0: A problem occured in DLARRV.
-.br
+.TP 6
< 0: One of the called subroutines signaled an internal problem.
Needs inspection of the corresponding parameter IINFO
for further information.
+.RS
.TP 6
=-1: Problem in DLARRB when refining a child\(aqs eigenvalues.
+.TP 6
=-2: Problem in DLARRF when computing the RRR of a child.
When a child is inside a tight cluster, it can be difficult
to find an RRR. A partial remedy from the user\(aqs point of
@@ -158,10 +167,13 @@
However, as the orthogonality of the computed vectors is
proportional to 1/MINRGP, the user should be aware that
he might be trading in precision when he decreases MINRGP.
+.TP 6
=-3: Problem in DLARRB when refining a single eigenvalue
after the Rayleigh correction was rejected.
+.TP 6
= 5: The Rayleigh Quotient Iteration failed to converge to
full accuracy in MAXITR steps.
+.PD
.SH FURTHER DETAILS
Based on contributions by
.br
--- manl.orig/clarrv.l 2009-01-03 00:02:25.000000000 +0100
+++ manl/clarrv.l 2011-02-14 18:40:58.311307487 +0100
@@ -41,6 +41,7 @@
The order of the matrix. N >= 0.
.TP 8
VL (input) REAL
+.TQ
VU (input) REAL
Lower and upper bounds of the interval that contains the desired
eigenvalues. VL < VU. Needed to compute gaps on the left or right
@@ -70,6 +71,7 @@
The total number of input eigenvalues. 0 <= M <= N.
.TP 8
DOL (input) INTEGER
+.TQ
DOU (input) INTEGER
If the user wants to compute only selected eigenvectors from all
the eigenvalues supplied, he can specify an index range DOL:DOU.
@@ -83,6 +85,7 @@
MINRGP (input) REAL
.TP 8
RTOL1 (input) REAL
+.TQ
RTOL2 (input) REAL
Parameters for bisection.
RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) )
@@ -143,14 +146,20 @@
IWORK (workspace) INTEGER array, dimension (7*N)
.TP 8
INFO (output) INTEGER
+.RS
+.PD 0
+.TP 6
= 0: successful exit
+.TP 6
> 0: A problem occured in CLARRV.
-.br
+.TP 6
< 0: One of the called subroutines signaled an internal problem.
Needs inspection of the corresponding parameter IINFO
for further information.
+.RS
.TP 6
=-1: Problem in SLARRB when refining a child\(aqs eigenvalues.
+.TP 6
=-2: Problem in SLARRF when computing the RRR of a child.
When a child is inside a tight cluster, it can be difficult
to find an RRR. A partial remedy from the user\(aqs point of
@@ -158,10 +167,13 @@
However, as the orthogonality of the computed vectors is
proportional to 1/MINRGP, the user should be aware that
he might be trading in precision when he decreases MINRGP.
+.TP 6
=-3: Problem in SLARRB when refining a single eigenvalue
after the Rayleigh correction was rejected.
+.TP 6
= 5: The Rayleigh Quotient Iteration failed to converge to
full accuracy in MAXITR steps.
+.PD
.SH FURTHER DETAILS
Based on contributions by
.br
--- manl.orig/zlarrv.l 2009-01-03 00:02:31.000000000 +0100
+++ manl/zlarrv.l 2011-02-14 18:41:12.074449073 +0100
@@ -41,6 +41,7 @@
The order of the matrix. N >= 0.
.TP 8
VL (input) DOUBLE PRECISION
+.TQ
VU (input) DOUBLE PRECISION
Lower and upper bounds of the interval that contains the desired
eigenvalues. VL < VU. Needed to compute gaps on the left or right
@@ -70,6 +71,7 @@
The total number of input eigenvalues. 0 <= M <= N.
.TP 8
DOL (input) INTEGER
+.TQ
DOU (input) INTEGER
If the user wants to compute only selected eigenvectors from all
the eigenvalues supplied, he can specify an index range DOL:DOU.
@@ -83,6 +85,7 @@
MINRGP (input) DOUBLE PRECISION
.TP 8
RTOL1 (input) DOUBLE PRECISION
+.TQ
RTOL2 (input) DOUBLE PRECISION
Parameters for bisection.
RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) )
@@ -143,14 +146,20 @@
IWORK (workspace) INTEGER array, dimension (7*N)
.TP 8
INFO (output) INTEGER
+.RS
+.PD 0
+.TP 6
= 0: successful exit
+.TP 6
> 0: A problem occured in ZLARRV.
-.br
+.TP 6
< 0: One of the called subroutines signaled an internal problem.
Needs inspection of the corresponding parameter IINFO
for further information.
+.RS
.TP 6
=-1: Problem in DLARRB when refining a child\(aqs eigenvalues.
+.TP 6
=-2: Problem in DLARRF when computing the RRR of a child.
When a child is inside a tight cluster, it can be difficult
to find an RRR. A partial remedy from the user\(aqs point of
@@ -158,10 +167,13 @@
However, as the orthogonality of the computed vectors is
proportional to 1/MINRGP, the user should be aware that
he might be trading in precision when he decreases MINRGP.
+.TP 6
=-3: Problem in DLARRB when refining a single eigenvalue
after the Rayleigh correction was rejected.
+.TP 6
= 5: The Rayleigh Quotient Iteration failed to converge to
full accuracy in MAXITR steps.
+.PD
.SH FURTHER DETAILS
Based on contributions by
.br