From a962666fa50e50ffa6473beb8286b1adb05d52c6 Mon Sep 17 00:00:00 2001
From: Tim Daly
Date: Fri, 24 Jun 2016 16:43:20 0400
Subject: [PATCH] books/bookvolbib Arna95, Dave92, Jaes93 package
IntegerPrimesPackage
Goal: Axiom Literate Programming
Collect algebra references in the bibliography
\index{Arnault, Francois}
\begin{chunk}{axiom.bib}
@Article{Arna95,
author = "Arnault, Francois",
title = "Constructing Carmichael numbers which are strong pseudoprimes to
several bases",
year = "1995",
journal = "Journal of Symbolic Computation",
volume = "20",
number = "2",
pages = "151161",
paper = "Arna95.pdf",
url =
"http://ac.elscdn.com/S0747717185710425/1s2.0S0747717185710425main.pdf",
keywords = "axiomref",
comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
abstract =
"We describe here a method of constructing Carmichael numbers which
are strong pseudoprimes to some set of prime bases. We apply it to
find composite numbers which are found to be prime by the RabinMiller
test of packages as Axiom or Maple. We also use a variation of this
method to construct strong Lucas pseudoprimes with respect to several
pairs of parameters."
}
\index{Davenport, James H.}
\begin{chunk}{axiom.bib}
@article{Dave92,
author = "Davenport, James H.",
title = "Primality Testing Revisited",
url = "http://staff.bath.ac.uk/masjhd/ISSACs/ISSAC1992.pdf",
paper = "Dave92.pdf",
report = "Technical Report TR2/93 Numerical Algorithms Group, Inc",
keywords = "axiomref",
comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
abstract =
"Rabin's algorithm is commonly used in computer algebra systems and
elsewhere for primality testing. This paper presents an experience
with this in the Axiom computer algebra system. As a result of this
experience, we suggest certain strengthenings of the algorithm."
}
\end{chunk}
\index{Jaeschke, Gerhard}
\begin{chunk}{axiom.bib}
@article{Jaes93,
author = "Jaeschke, Gerhard",
title = "On String Pseudoprimes to Several Bases",
journal = "Mathematics of Computation",
volume = "61",
number = "204",
year = "1993",
pages = "915926",
paper = "Jaes93.pdf",
keywords = "axiomref",
comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
abstract =
"With $\psi_k$ denoting the smallest strong pseudoprime to all of the
first $k$ primes taken as bases we determine the exact values for
$\psi_5$, $\psi_6$, $\psi_7$, $\psi_8$, and give upper bounds for
$\psi_9$, $\psi_{10}$, $\psi_{11}$. We discuss the methods and
underlying facts for obtaining these results"
}
\end{chunk}

books/bookvol10.4.pamphlet  87 ++++++++++++++++
books/bookvolbib.pamphlet  45 ++++++++
changelog  3 +
patch  205 +++++++++
src/axiomwebsite/patches.html  2 +
5 files changed, 172 insertions(+), 170 deletions()
diff git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index d47da2d..a33213c 100644
 a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ 87191,15 +87191,96 @@ o )show IntegerPrimesPackage
\cross{PRIMES}{primes}
\end{tabular}
+\subsection{RabinMiller testing}
+In Arnault\cite{Arna95} we find
+\begin{quote}
+
+The primality test of Axiom release 1.1 is a RabinMiller test where
+the set of bases used depends on the size of the number tested. For
+numbers less than 341550071728321 the Axiom test is always correct due
+to the results of Jaeschke (1993). For numbers greater than this
+bound, the Axiom test uses the first ten odd prime bases 3, 5, 7, 11,
+13, 17, 19, 23, 29, and 31. Release 1.1 benefits from several
+improvements, outlined below and added by Davenport (1992), which
+catch the numbers produced in Jaeschke (1993) and Arnault (1995).
+
+When $n=2^kq$ is checked for strong pseudoprimality, one first
+computes $b^q$ modulo $n$ and then use repeated squaring to see if
+there exists an $i$ such that $b^{{2^i}q} \equiv 1$ module
+$n$. Whenever we find such an $i > 0$, we get a square root of $1$
+modulo $n$, namely $b^{2^{i1}}q$. One idea of Davenport is to collect
+and count the distinct square roots of $1$ we get in this process. If
+more than two square roots are found, then $n$ is surely composite,
+even if it is a strong pseudoprime to all used bases.
+
+The Axiom test searches also for numbers of specific forms, as the
+numbers produced in Arnault (1995) which are of the form
+$n=(u+1)(2u+1)$. Indeed these numbers satisfy $8n+1=(4u+3)^2$ and they
+are easily spotted by this release of Axiom, which checks if $8n+1$ is
+a perfect square.
+
+The Axiom test reserves a special treatment to numbers $n$ which satisfy
+\[b^{(n1)/2} \equiv 1 {\rm\ modulo\ }n\]
+for the 10 bases above. These numbers are considered as suspicious and
+are submitted to additional strong pseudoprimality tests with other
+bases until one base $b$ is found such that $b^{(n1)/2} \equiv 1$
+modulo $n$ or some strong pseudoprimality test fails. Fortunately for
+the success of the method described here, the numbers which satisfy
+\[b^{(n1)/2} \equiv 1 {\rm\ modulo\ }n\]
+for the first 10 odd prime bases are not considered as suspicious.
+
+In spite of these improvements, we are able to find composite numbers
+which pass the Axiom 1.1 test.
+For example, let $h=3$, $k_2=37$, and $k_3=43$. The right hand of
+\[p_1 {\rm\ mod\ } 4b \in \cap_{i=1}^{h}{k_i^{1}(S_b+k_i1)}\]
+is not empty, for each of the ten bases used by Axiom, in which we choose
+values from
+\begin{itemize}
+\item b=3: $p_1 \equiv 7$ (mod 12)
+\item b=5: $p_1 \equiv 7$ (mod 20)
+\item b=7: $p_1 \equiv 15$ (mod 28)
+\item b=11: $p_1 \equiv 23$ (mod 44)
+\item b=13: $p_1 \equiv 11$ (mod 52)
+\item b=17: $p_1 \equiv 11$ (mod 68)
+\item b=19: $p_1 \equiv 39$ (mod 76)
+\item b=23: $p_1 \equiv 39$ (mod 92)
+\item b=29: $p_1 \equiv 43$ (mod 116)
+\item b=31: $p_1 \equiv 63$ (mod 124)
+\end{itemize}
+
+Also, the coefficients $m_2$ and $m_3$ will be integers as soon as
+\[p_1 \equiv 9 {\rm\ modulo\ }37\quad{\rm\ and\ }\quad
+ p_1 \equiv 31 {\rm\ modulo\ }41\]
+
+These two congruences and those of the table above can be together
+written
+\[p_1 \equiv 356794315112467 {\rm\ modulo\ }608500527054420\]
+
+Take $p_1 = 356794315112467$, we find the following number, which passes
+the Axiom test:
+\[n=16293065699588634810831933763781141498750450660078823067\]
+
+The same method has been used with a large set of bases in order to
+construct the 397digit Carmichael number
+\[n=p_1[313(p_11)+1][353(p_11)+1]\]
+where
+\[p_1=29674495668685510550154174642905332730771991799853043350995075531\]
+\[276838753171770199594238596428121188033664754218345562493168782883\]
+which is a strong pseudoprime to all prime bases up to 300.
+\end{quote}
+
+See Davenport\cite{Dave92}, Arnault\cite{Arna95}, Jaeschke\cite{Jaes93}
+\label{package PRIMES IntegerPrimesPackage}
\begin{chunk}{package PRIMES IntegerPrimesPackage}
)abbrev package PRIMES IntegerPrimesPackage
++ Author: Michael Monagan, James Davenport
++ Date Created: August 1987
++ Date Last Updated: 31 May 1993
++ References:
++ J. H. Davenport ``Primality testing revisited'' Technical Report TR2/93
++ (ATR/6)(NP2556) Numerical Algorithms Group, Inc., Downer's Grove, IL, USA
++ and Oxford, UK, August 1993
+++ Dave92 Primality Testing Revisited
+++ Arna95 Constructing Carmichael numbers which are strong pseudoprimes to
+++ several bases
+++ Jaes93 On Strong Pseudoprimes to Several Bases
++ Description:
++ The \spadtype{IntegerPrimesPackage} implements a modification of
++ Rabin's probabilistic
diff git a/books/bookvolbib.pamphlet b/books/bookvolbib.pamphlet
index 19149c8..49e3c37 100644
 a/books/bookvolbib.pamphlet
+++ b/books/bookvolbib.pamphlet
@@ 7107,6 +7107,7 @@ MIT Master's Thesis.
paper = "Woot14.pdf",
\end{chunk}
+
\section{Ore Rings} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This is used as a reference for the LeftOreRing category, in particular,
@@ 10316,6 +10317,7 @@ American Mathematical Society (1994)
url =
"http://ac.elscdn.com/S0747717185710425/1s2.0S0747717185710425main.pdf",
keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
abstract =
"We describe here a method of constructing Carmichael numbers which
are strong pseudoprimes to some set of prime bases. We apply it to
@@ 11593,13 +11595,21 @@ December 1992.
\end{chunk}
\index{Davenport, James H.}
\begin{chunk}{ignore}
\bibitem[Davenport 93]{Dav93} Davenport, J. H.
 title = "Primality testing revisited",
Technical Report TR2/93 (ATR/6)(NP2556) Numerical Algorithms Group, Inc.,
Downer's Grove, IL, USA and Oxford, UK, August 1993
 url = "http://www.nag.co.uk/doc/TechRep/axiomtr.html",
+\begin{chunk}{axiom.bib}
+@article{Dave92,
+ author = "Davenport, James H.",
+ title = "Primality Testing Revisited",
+ url = "http://staff.bath.ac.uk/masjhd/ISSACs/ISSAC1992.pdf",
+ paper = "Dave92.pdf",
+ report = "Technical Report TR2/93 Numerical Algorithms Group, Inc",
keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
+ abstract =
+ "Rabin's algorithm is commonly used in computer algebra systems and
+ elsewhere for primality testing. This paper presents an experience
+ with this in the Axiom computer algebra system. As a result of this
+ experience, we suggest certain strengthenings of the algorithm."
+}
\end{chunk}
@@ 12638,6 +12648,29 @@ Developments. LIFL Univ. Lille, Lille France, 1993
\end{chunk}
+\index{Jaeschke, Gerhard}
+\begin{chunk}{axiom.bib}
+@article{Jaes93,
+ author = "Jaeschke, Gerhard",
+ title = "On String Pseudoprimes to Several Bases",
+ journal = "Mathematics of Computation",
+ volume = "61",
+ number = "204",
+ year = "1993",
+ pages = "915926",
+ paper = "Jaes93.pdf",
+ keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
+ abstract =
+ "With $\psi_k$ denoting the smallest strong pseudoprime to all of the
+ first $k$ primes taken as bases we determine the exact values for
+ $\psi_5$, $\psi_6$, $\psi_7$, $\psi_8$, and give upper bounds for
+ $\psi_9$, $\psi_{10}$, $\psi_{11}$. We discuss the methods and
+ underlying facts for obtaining these results"
+}
+
+\end{chunk}
+
\index{Jan{\ss}en, R.}
\begin{chunk}{ignore}
\bibitem[Janssen 88]{Jan88} Jan{\ss}en, R. (ed)
diff git a/changelog b/changelog
index 0e097da..bdae6d0 100644
 a/changelog
+++ b/changelog
@@ 1,3 +1,6 @@
+20160624 tpd src/axiomwebsite/patches.html 20160624.06.tpd.patch
+20160624 tpd books/bookvol10.4 Arna95, Dave92, Jaes93 IntegerPrimesPackage
+20160624 tpd books/bookvolbib Arna95, Dave92, Jaes93 IntegerPrimesPackage
20160624 tpd src/axiomwebsite/patches.html 20160624.05.tpd.patch
20160624 tpd books/bookvolbib Add Axiom Citations in the Literature
20160624 tpd src/axiomwebsite/patches.html 20160624.04.tpd.patch
diff git a/patch b/patch
index 896fad5..fae43af 100644
 a/patch
+++ b/patch
@@ 1,169 +1,9 @@
books/bookvolbib Add Axiom Citations in the Literature
+books/bookvolbib Arna95, Dave92, Jaes93 package IntegerPrimesPackage
Goal: Axiom Literate Programming
Collect algebra references in the bibliography
\begin{chunk}{axiom.bib}
@misc{Sympy,
 keywords = "axiomref",
 url = "https://github.com/sympy/sympy/wiki/SymPyvs.Axiom"
}

\end{chunk}

\begin{chunk}{axiom.bib}
@misc{America,
 keywords = "axiomref",
 url = "http://america.pink/axiomcomputeralgebrasystem_526647.html"
}

\end{chunk}

\index{Hereman, Willy}
\begin{chunk}{axiom.bib}
@misc{Here96,
 author = "Hereman, Willy",
 title = "The Incredible World of Symbolic Mathematics
 A Review of Computer Algebra Systems",
 year = "1996",
 keywords = "axiomref",
 url =
"https://inside.mines.edu/~whereman/papers/HeremanPhysicsWorld9March1996.pdf",
 paper = "Here96.pdf"
}

\end{chunk}

\index{Betten, Anton}
\index{Kohnert, Axel}
\index{Laue, Reinhard}
\index{Wassermann, Alfred}
\begin{chunk}{axiom.bib}
@book{Bett99,
 author = "Betten, Anton and Kohnert, Axel and Laue, Reinhard and
 Wassermann, Alfred",
 title = "Algebraic Combinatorics and Applications",
 year = "1999",
 publisher = "Springer",
 isbn = "9783540411109",
 keywords = "axiomref"
}

\end{chunk}

\index{Beebe, Nelson H. F.}
\begin{chunk}{axiom.bib}
@misc{Beeb14,
 author = "Beebe, Nelson H. F.",
 title = "A Bibliography of Publications about the AXIOM
 (formerly, Scratchpad) Symbolic Algebra Language",
 year = "2014",
 url = "http://www.netlib.org/bibnet/journals/axiom.ps.gz",
 paper = "Beeb14.pdf"
}

\end{chunk}

\begin{chunk}{axiom.bib}
@misc{ACM89,
 author = "ACM",
 title = "Proceedings of the ACMSIGSAM 1989 International
 Symposium on Symbolic and Algebraic Computation, ISSAC '89"
 year = "1989",
 isbn = "0897913256",
 keywords = "axiomref",
 isbn = "0897913256",
 url = "http://doi.acm.org/10.1145/74540.74567",
 doi = "10.1145/74540.74567",
 acmid = "74567",
 publisher = "ACM Press",
 address = "New York, NY, USA"
}

\end{chunk}

\begin{chunk}{axiom.bib}
@misc{ACM94,
 author = "ACM",
 title = "Proceedings of the ACMSIGSAM 1989 International
 Symposium on Symbolic and Algebraic Computation, ISSAC '94"
 year = "1994",
 isbn = "0897916387",
 keywords = "axiomref",
 publisher = "ACM Press",
 address = "New York, NY, USA"
}

\end{chunk}

\index{Andrews, George E.}
\begin{chunk}{axiom.bib}
@InProceedings{Andr84,
 author = "Andrews, George E.",
 title = "Ramanujan and SCRATCHPAD",
 booktitle = "Proc. of 1984 MACSYM Users' Conference, July 1984",
 year = "1984",
 pages = "383??",
 keywords = "axiomref"
}

\end{chunk}

\index{Burge, William H.}
\begin{chunk}{axiom.bib}
@InProceedings{Burg91,
 author = "Burge, W.H.",
 title = "Scratchpad and the RogersRamanujan identities",
 booktitle = "Proc. ISSAC 1991",
 year = "1991",
 pages = "189190",
 keywords = "axiomref",
 paper = "Burg91.pdf",
 abstract =
 "This note sketches the part played by Scratchpad in obtaining new
 proofs of Euler's theorem and the RogersRamanujan Identities."
}

\end{chunk}

\index{Andrews, George E.}
\begin{chunk}{axiom.bib}
@InProceedings{Andr88,
 author = "Andrews, G. E.",
 title = "Application of Scratchpad to problems in special functions and
 combinatorics",
 booktitle = "Trends in Computer Algebra",
 year = "1988",
 isbn = "3540189289",
 keywords = "axiomref",
 pages = "158??"
}

\end{chunk}

\begin{chunk}{axiom.bib}
@book{Anon91,
 author = "Anonymous",
 title = "Challenges of a Changing World (2 Volumes)",
 publisher = "American Society for Engineering Education",
 year = "1991,
 keywords = "axiomref"
}

\end{chunk}

\begin{chunk}{axiom.bib}
@book{Anon95,
 author = "Anonymous",
 title = "Zeitschrift fur Angewandte Mathematik und Physik, 75 (suppl. 2)",
 keywords = "axiomref",
 year = "1995",
 issn = "00442267"
}

\end{chunk}

\index{Arnault, Francois}
\begin{chunk}{axiom.bib}
@Article{Arna95,
@@ 179,6 +19,7 @@ Collect algebra references in the bibliography
url =
"http://ac.elscdn.com/S0747717185710425/1s2.0S0747717185710425main.pdf",
keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
abstract =
"We describe here a method of constructing Carmichael numbers which
are strong pseudoprimes to some set of prime bases. We apply it to
@@ 188,3 +29,45 @@ Collect algebra references in the bibliography
pairs of parameters."
}
+\index{Davenport, James H.}
+\begin{chunk}{axiom.bib}
+@article{Dave92,
+ author = "Davenport, James H.",
+ title = "Primality Testing Revisited",
+ url = "http://staff.bath.ac.uk/masjhd/ISSACs/ISSAC1992.pdf",
+ paper = "Dave92.pdf",
+ report = "Technical Report TR2/93 Numerical Algorithms Group, Inc",
+ keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
+ abstract =
+ "Rabin's algorithm is commonly used in computer algebra systems and
+ elsewhere for primality testing. This paper presents an experience
+ with this in the Axiom computer algebra system. As a result of this
+ experience, we suggest certain strengthenings of the algorithm."
+}
+
+\end{chunk}
+
+\index{Jaeschke, Gerhard}
+\begin{chunk}{axiom.bib}
+@article{Jaes93,
+ author = "Jaeschke, Gerhard",
+ title = "On String Pseudoprimes to Several Bases",
+ journal = "Mathematics of Computation",
+ volume = "61",
+ number = "204",
+ year = "1993",
+ pages = "915926",
+ paper = "Jaes93.pdf",
+ keywords = "axiomref",
+ comment = "\newline\refto{package PRIMES IntegerPrimesPackage}",
+ abstract =
+ "With $\psi_k$ denoting the smallest strong pseudoprime to all of the
+ first $k$ primes taken as bases we determine the exact values for
+ $\psi_5$, $\psi_6$, $\psi_7$, $\psi_8$, and give upper bounds for
+ $\psi_9$, $\psi_{10}$, $\psi_{11}$. We discuss the methods and
+ underlying facts for obtaining these results"
+}
+
+\end{chunk}
+
diff git a/src/axiomwebsite/patches.html b/src/axiomwebsite/patches.html
index 3872bf0..b886109 100644
 a/src/axiomwebsite/patches.html
+++ b/src/axiomwebsite/patches.html
@@ 5372,6 +5372,8 @@ books/bookvolbib Aubr96 package DoubleFloatSpecialFunctions
books/bookvolbib Lamb92 category FMCAT FreeModuleCat
20160624.05.tpd.patch
books/bookvolbib Add Axiom Citations in the Literature
+20160624.06.tpd.patch
+books/bookvolbib Arna95, Dave92, Jaes93 IntegerPrimesPackage

1.7.5.4