From 13f5c7be9655a78bffd8fe24b09b7f26bea3300d Mon Sep 17 00:00:00 2001
From: Tim Daly
Date: Fri, 5 Aug 2016 21:16:51 0400
Subject: [PATCH] books/bookvolbug bug 7320: bookvol7.1 ugInOutFortranPage
fails}
Goal: Axiom Literate Programming
\subsection{bug 7320: bookvol7.1 ugInOutFortranPage fails}
\begin{verbatim}
Attempting to format page crashes hyperdoc
Reference
> Axiom Book
> Input Files and Output Styles
> Fortran Format
\end{chunk}

books/bookvolbug.pamphlet  15 ++
changelog  2 +
patch  360 +
src/axiomwebsite/patches.html  2 +
4 files changed, 26 insertions(+), 353 deletions()
diff git a/books/bookvolbug.pamphlet b/books/bookvolbug.pamphlet
index c557a26..6745ff4 100644
 a/books/bookvolbug.pamphlet
+++ b/books/bookvolbug.pamphlet
@@ 6,7 +6,7 @@
\chapter{Introduction}
\section{The Numbering Scheme}
\begin{verbatim}
bug 7320:
+bug 7321:
todo 342:
wish 1012:
meh 5:
@@ 465,6 +465,19 @@ Use ALLOCATE to expand the space.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{bug 7320: bookvol7.1 ugInOutFortranPage fails}
+\begin{verbatim}
+
+Attempting to format page crashes hyperdoc
+
+Reference
+ > Axiom Book
+ > Input Files and Output Styles
+ > Fortran Format
+
+\end{chunk}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{todo 331: in bookvol7.1 this is commented out}
\begin{verbatim}
diff git a/changelog b/changelog
index e1de9d8..adf7f6e 100644
 a/changelog
+++ b/changelog
@@ 1,3 +1,5 @@
+20160805 tpd src/axiomwebsite/patches.html 20160805.04.tpd.patch
+20160805 tpd books/bookvolbug bug 7320: bookvol7.1 ugInOutFortranPage fails}
20160805 tpd src/axiomwebsite/patches.html 20160805.03.tpd.patch
20160805 tpd books/bookvolbib Axiom Citations in the Literature
20160805 tpd src/axiomwebsite/patches.html 20160805.02.tpd.patch
diff git a/patch b/patch
index d8f31a1..ad28f34 100644
 a/patch
+++ b/patch
@@ 1,359 +1,15 @@
books/bookvolbib Axiom Citations in the Literature
+books/bookvolbug bug 7320: bookvol7.1 ugInOutFortranPage fails}
Goal: Axiom Literate Programming
\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate13a,
 author = "Fateman, Richard J.",
 title = "Rational Function Computing with Poles and Residues",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/openmathcrit.pdf",
 year = "2013",
 abstract =
 "Computer algebra systems (CAS) usually support computation with exact
 or approximate rational functions as ratios of polynomials in
 ``expanded form'' with explicit coefficients. We examine the
 consequences of introducing a partialfraction type of form in which
 some of the usual rational operations can be implemented in
 substantially faster times. In this form an expression in one
 variable, say $x$, is expressed as a polynomial in $x$ plus a sum of
 terms each of which has a denominator $xc$ perhaps to an integer
 power, where $c$ is in general a complex constant. We show that some
 common operations including rational function addition,
 multiplication, and matrix determinant calculation can be performed
 many times faster than in the conventional representation. Polynomial
 GCD operations, the costliest part of rational additions, are entirely
 eliminated. Applicaiton of Cauchy's integral theorem allow for trivial
 integration of an expression around a closed contour. In some cases
 the approximate evaluation of transcendental functions can be
 accelerated, especially in parallel, by evaluation of a formula in
 pole+residue form.",
 paper = "Fate13a.pdf"
}
+\subsection{bug 7320: bookvol7.1 ugInOutFortranPage fails}
+\begin{verbatim}
\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@inproceedings{Fate03a,
 author = "Fateman, Richard J.",
 title = "Highlevel proofs of mathematical programs using automatic
 differentiation, simplification, and some common sense",
 booktitle = "Proc. ISSAC 2003",
 pages = "8894",
 year = "2003",
 isbn = "1581136412",
 abstract =
 "One problem in applying elementary methods to prove correctness of
 interesting scientific programs is the large discrepancy in level of
 discourse between lowlevel proof methods and the logic of scientific
 calculation, especially that used in a complex numerical program. The
 justification of an algorithm typically relies on algebra or analysis,
 but the correctness of the program requires that the arithmetic
 expressions are written correctly and that iterations converge to
 correct values in spite of truncation of infinite processes or series
 and the commission of numerical roundoff errors. We hope to help
 bridge this gap by showing how we can, in some cases, state a
 highlevel requirement and by using a computer algebra system (CAS)
 demonstrate that a program satisfies that requirement. A CAS can
 contribute program manipulation, partial evaluation, simplification or
 other algorithmic methods. A novelty here is that we add to the usual
 list of techniques automatic differentiation, a method already widely
 used in optimization contexts where algorithms are differentiated. We
 sketch a proof of a numerical program to compute sine, and display a
 related approach to a version of a Bessel function algorithm for J0(x)
 based on a recurrence.",
 paper = "Fate03a.pdf"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate07,
 author = "Fateman, Richard J.",
 title = "Rational Function Computing with Poles and Residues",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/qd.pdf",
 year = "2007",
 abstract =
 "In a numerical calculation sometimes we need higherthan
 doubleprecision floatingpoint arithmetic to allow us to be confident
 of a result. One alternative is to rewrite the program to use a
 software package implementing arbitraryprecision extended
 floatingpoint arithmetic such as ARPREC or MPFR, and try to choose a
 suitable precision.

 Such an arithmetic scheme, in spite of helpful tools, may be
 inconvenient to write. There are also facilities in computer algebra
 systems (CAS) for such softwareimplemented ``bigfloats.'' These
 facilities are convenient if one is already using the CAS. In any of
 these situations the bigfloats may be rather slow, a cost of its
 generality.

 There are possibilities intermediate between the largest hardware
 floatingpoint format and the general arbitraryprecision software
 which combine a considerable (but not arbitrary) amount of extra
 precision with a (relatively speaking) modest factor loss in
 speed. Sometimes merely doubling the number of bits in a
 doublefloatingpoint fraction is enough, in which case arithmetic on
 doubledouble (DD) operands would suffice. Another possibility is to
 go for yet another doubling to quaddouble (QD) arithmetic: instead of
 using the machine doublefloats to give about 16 decimal digits of
 precision, QD supplies about 64 digits. DD and QD as used here provide
 the same exponent range as ordinary double.

 Here we describe how we incorporated QD arithmetic implemented in a
 library into a Common Lisp system, providing a smooth interface while
 adding only modest overhead to the runtime costs (compared to
 accessing the library from C or C++). One advantage is that we keep
 the program text almost untouched while switching from double to
 quaddouble. Another is that the programs can be written, debugged,
 and run in an interactive environment. Most of the lessons from QD can
 be used for other versions of arithmetic which can be embedded in
 Lisp, including MPFR, for indefinite (arbitrary) precision, should QD
 provide inadequate precision or range.",
 paper = "Fate07.pdf,
 keywords = "axiomref"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate99b,
 author = "Fateman, Richard J.",
 title = "Generation and Optimization of Numerical Programs by
 Symbolic Mathematical Methods",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/RIMS.pdf",
 year = "1999",
 abstract =
 "Symbolic mathematical methods and systems
 \begin{itemize}
 \item support scientific and engineering ``problem solving environments''
 (PSEs),
 \item The specific manipulation of mathematical models as a precursor
 to the coding of algorithms
 \item Expert system selection of modules from numerical libraries and
 other facilities
 \item The production of custom numerical software such as derivatives
 or nonstandard arithmetic codegeneration packages,
 \item The complete solution of certain classes of mathematical problems
 that simply cannot be handled solely by conventional floatingpoint
 computation.
 \end{itemize}

 Viewing computational objects and algorithms from a symbolic
 perspective and then specializing them to numerical or graphical views
 provides substantial additional flexibility over a more conventional view.

 We also consider interactive symbolic computing as a tool to provide
 an organizing principle or glue among otherwise dissimilar components.",
 paper = "Fate99b.pdf",
 keywords = "axiomref"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate09,
 author = "Fateman, Richard J.",
 title = "Rational Integration, Simplified",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/rootinteg.pdf",
 year = "2009",
 abstract =
 "After all this computer algebra stuff, and several PhD theses in
 the last few decades, what more could we say about symbolic
 rational function integration?

 How about a closed formula for the result, subject to a few algebraic
 sideconditions, which works even with parameters in the denominator?",
 paper = "Fate09.pdf"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate09a,
 author = "Fateman, Richard J.",
 title = "Simplifying RootSum Expressions",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/rootsum.pdf",
 year = "2009",
 abstract =
 "It's useful to sum an expression with a parameter varying over all
 the roots of a given polynomial. Here's a defense of that statement
 and a method to do the task.",
 paper = "Fate09a.pdf"
}

\end{chunk}
+Attempting to format page crashes hyperdoc
\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate02a,
 author = "Fateman, Richard J.",
 title = "Symbolic Execution Merges Construction, Debugging and Proving",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/symex.pdf",
 year = "2002",
 abstract =
 "There is naturally an interest in any technology which promises to
 assist us in producing correct programs. Some efforts attempt to
 insure correct programs by making their construction simpler. Some
 efforts are oriented toward increasing the effectiveness of testing to
 make the programs appear to perform as required. Other efforts are
 directed to prove the correctness of the resulting program. Symbolic
 execution, in which symbols instead of numbers are used in what
 appears to be a numerical program, is an old but todate still not
 widelyused technique. It has been available in various forms for
 decades from the computer algebra community. Symbolic execution has
 the potential to assist in all these phases: construction, debugging,
 and proof. We describe how this might work specifically with regard to
 our own recent experience in the construction of correct linear
 algebra programs for structured matrices and LU factorization. We show
 how developing these programs with a computer algebra system, and then
 converting incrementally to use more efficient forms. Frequent symbolic
 execution of the algorithms, equivalent to testing over infinite test
 sets, aids in debugging, while strengthening beliefs that the correctness
 of results is an algebraic truth rather than an accident.",
 paper = "Fate02a.pdf"
}
+Reference
+ > Axiom Book
+ > Input Files and Output Styles
+ > Fortran Format
\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate03b,
 author = "Fateman, Richard J.",
 title = "Manipulation of Matrices Symbolically",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/symmat2.pdf",
 year = "2003",
 abstract =
 "Traditionally, matrix algebra in computer algebra systems is
 ``implemented'' in three ways:
 \begin{itemize}
 \item numeric explicit computation in a special arithmetic domain:
 exact rational or integer, highprecision software floatingpoint,
 interval, or conventional hardware floatingpoint.
 \item ‘symbolic’ explicit computation with polynomial or other
 expression entries,
 \item (implicit) matrix computation with symbols defined over a
 (noncommuting) ring.
 \end{itemize}
 Manipulations which involve matrices of indefinite size (n × m) or
 perhaps have components which are block submatrices of indefinite size
 have little or no support in generalpurpose computer algebra systems,
 in spite of their importance in theorems, proofs, and generation of
 programs. We describe some efforts to design and implement tools for
 this mode of thinking about matrices in computer systems.",
 paper = "Fate03b.pdf"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@misc{Fate08b,
 author = "Fateman, Richard J.",
 title = "Applications and Methods for Recognition of (Anti)Symmetric
 Functions",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/symmetry.pdf",
 year = "2008",
 abstract =
 "One of the important advantages held by computer algebra systems (CAS)
 over purelynumerical computational frameworks is that the CAS can
 provide a higherlevel ``symbolic'' viewpoint for problem
 solving. Sometimes this can convert apparently impossible problems to
 trivial ones. Sometimes the symbolic perspective can provide
 information about questions which cannot be directly answered, or
 questions which might be hard to pose. For example, we might be able
 to analyze the asymptotic behavior of a solution to a differential
 equation even though we cannot solve the equation. One route to
 implicitly solving problems is the use of symmetry arguments. In this
 paper we suggest how, through symmetry, one can solve a large class of
 definite integration problems, including some that we found could not
 be solved by computer algebra systems. One case of symmetry provides
 for recognition of periodicity, and this solves additional problems,
 since removal of periodic components can be important in integration
 and in asymptotic expansions.",
 paper = "Fate08b.pdf"
}

\end{chunk}

\index{Fateman, Richard J.}
\begin{chunk}{axiom.bib}
@phdthesis{Fate72,
 author = "Fateman, Richard J.",
 title = "Essays in Algebraic Simplification",
 url = "http://www.cs.berkeley.edu/~/fateman/papers/tr95.pdf",
 institution = "MIT",
 comment = "MAC TR95 technical report",
 year = "1972",
 abstract =
 "This thesis consists of essays on several aspects of the problem
 of algebraic simplification by computer. We first discuss a pattern
 matching system intended to recognize nonobvious occurrences of
 patterns within Algebraic expression. A user of such a system can
 ``teach'' the computer new simplification rules. Then we report on
 new applications of canonical simplification of rational functions.
 These applications include techniques for picking out coefficients,
 and for substituting for summs, products, quotients, etc. Our final
 essay is on a new, practical, canonical simplification algorithms
 for radical expressions (i.g. algebraic expressions including roots
 of polynomials). The effectiveness of the procedure is assured
 through proofs of appropriate properties of the simplified forms.
 Two appendices describe MACSYM, a computer system for algebraic
 manipulations, which served as the basis for this work.",
 paper = "Fate72.pdf"
}

\end{chunk}

\index{Redfield, J.Howard}
\begin{chunk}{axiom.bib}
@article{Redf27,
 author = "Redfield, J.Howard",
 title = "The Theory of GroupReduced Distributions",
 journal = "American J. Math.",
 volume = "49",
 number = "3",
 year = "1927",
 pages = "433455"
}

\end{chunk}

\index{Judson, Tom}
@book{Juds15,
 author = "Judson, Tom",
 title = "Abstract Algebra: Theory and Applications",
 year = "2015",
 publisher = "Tom Judson",
 url = "http://abstract.ups.edu/download/aata20150812.pdf",
 paper = "Juds15.pdf"
}

\index{Judson, Tom}
\index{Beezer, Rob}
@book{Beez15,
 author = "Judson, Tom and Beezer, Rob",
 title = "Abstract Algebra: Theory and Applications",
 year = "2015",
 publisher = "Tom Judson",
 url = "http://abstract.ups.edu/download/aata20150812sage6.8.pdf",
 paper = "Beez15.pdf"
}

\index{Axiom Authors}
\begin{chunk}{axiom.bib}
@book{Bookbug,
 author = "Axiom Authors",
 title = "Volume BugList: Axiom Bugs",
 url = "http://axiomdeveloper.org/axiomwebsite/bookvolbug.pdf",
 publisher = "Axiom Project",
 year = "2016"
}

\end{chunk}

diff git a/src/axiomwebsite/patches.html b/src/axiomwebsite/patches.html
index 8b0f371..74b79f3 100644
 a/src/axiomwebsite/patches.html
+++ b/src/axiomwebsite/patches.html
@@ 5532,6 +5532,8 @@ books/bookvolbug: add bug 7319: ignoring return values
books/bookvolbug: add todo 341: merge endpapers with text
20160805.03.tpd.patch
books/bookvolbib Axiom Citations in the Literature
+20160805.04.tpd.patch
+books/bookvolbug bug 7320: bookvol7.1 ugInOutFortranPage fails}

1.7.5.4