\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}
\begin{verbatim}
\start
Date: Thu, 24 Oct 2013 11:38:05 +0200 (CEST)
From: Fabio Stumbo
To: list
Subject: About finite fields

I realized that when constructing finite fields providing a user choosen 
polynomial, Axiom doesn't check whether the used polynomial is 
irreducible or not.

For example:

(10) -> factor(x^8+x^4+x^2+x+1::PF 2)
(10) ->
            4    3       4    3    2
    (10)  (x  + x  + 1)(x  + x  + x  + x + 1)
                                Type: Factored(Polynomial(PrimeField(2)))
                                                              Time: 0 sec
(11) -> K:=FFP(PF 2,x^8+x^4+x^2+x+1)
(11) ->
    (11)  FiniteFieldExtensionByPolynomial(PrimeField(2),?^8+?^4+?^2+?+1)
                                                          Type: Domain
                                                Time: 0.01 (IN) = 0.01 sec
(12) -> size()$K
(12) ->
    (12)  256
                                                 Type: NonNegativeInteger
                                                              Time: 0 sec
(13) -> a:=index(2)$K
(13) ->
    (13)  %A
    Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^8+?^4+?^2+?+1)
                                               Time: 0.01 (OT) = 0.01 sec
(14) -> minimalPolynomial a
(14) ->
           8    4    2
    (14)  ?  + ?  + ?  + ? + 1
                          Type: SparseUnivariatePolynomial(PrimeField(2))
                                                              Time: 0 sec
(15) -> (a^4+a^3+1)*(a^4+a^3+a^2+a+1)
(15) ->
    (15)  0
    Type: FiniteFieldExtensionByPolynomial(PrimeField(2),?^8+?^4+?^2+?+1)
                                                              Time: 0 sec


I am surprised that FiniteFieldByPolynomial allows a contruction which, 
clearly, has no sense and I am wondering if this has to be considered a 
bug to be fixed.

\start
Date: Sun, 27 Oct 2013 11:00:20 -0700 (PDT)
From: Clifton Williamson
To: list
Subject: Re: About finite fields

The problem with having Axiom "automatically" perform a irreducibility
check is that the check could be time consuming.=A0 Suppose you have a
polynomial of high degree whose factorization takes, say, a couple of
minutes.

With an automatic irreducibility test, AXIOM would factor the
polynomial every time you create the finite field, which is probably
not what you would want.

\start
Date: Mon, 28 Oct 2013 10:04:10 +0100 (CET)
From: Fabio Stumbo
To: list
Subject: Re: About finite fields


> The problem with having Axiom "automatically" perform a irreducibility
> check is that the check could be time consuming. Suppose you have a
> polynomial of high degree whose factorization takes, say, a couple of
> minutes. With an automatic irreducibility test, AXIOM would factor the
> polynomial every time you create the finite field, which is probably not
> what you would want.

I didn't consider this aspect. You are right: it can be quite annoying
indeed.

If there is no way out from this, maybe it could be worth to stress in the
documentation this point and the fact tha the user _must_ take care of the
chosen polynomial.

\start
Date: Mon, 28 Oct 2013 10:19:39 +0100
From: Ralf Hemmecke
To: list
Subject: Re: About finite fields

On 10/28/2013 10:04 AM, Fabio S. wrote:
>> The problem with having Axiom "automatically" perform a
>> irreducibility check is that the check could be time consuming.

That's true.

>> Suppose you have a polynomial of high degree whose factorization
>> takes, say, a couple of minutes.  With an automatic irreducibility
>> test, AXIOM would factor the polynomial every time you create the
>> finite field, which is probably not what you would want.

I haven't checked Axiom, but in FriCAS (I guess the documentation is
still identical to the one in Axiom) it says for
FiniteFieldExtensionByPolynomial:

  ... generated by the extension polynomial defpol which
  MUST be irreducible.

However, if the parameters given to a domain D are identical, then Axiom
should be smart enough to take the already created domain. In other
words if you have

  a: FiniteExtensionFieldByPolynomial(F, defpol) := something
  b: FiniteExtensionFieldByPolynomial(F, defpol) := something_else

then Axiom would create the extension domain only once.

OK, I haven't checked this, but this is the idea.

Of course there can be situations where
FiniteExtensionFieldByPolynomial(F, defpol) would be used in a
completely different context so that Axiom would have no chance to
realize that this domain has already been computed, then it would create
a second copy.

Best thing probably is to do

E := FiniteExtensionFieldByPolynomial(F, defpol)
a: E := ...
b: E := ...

\start
Date: Mon, 28 Oct 2013 15:51:32 +0100
From: Matteo Serventi
To: list
Subject: i can't understand this error

Hi,
may you help me with this error?

I give these commands

Q:=FRAC INT;
vl:=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10];
RG:= DMP(vl,Q);
FRG:=FRAC(RG)
IRG:=IDEAL(Q,DirectProduct(#vl,NNI),OrderedVariableList vl, RG)

and i get this error

 >> System error:
     Lisps arglist maximum surpassed

These commands work if the length of vl is at most 8 but i don't know 
why and where the problem is.

\start
Date: Mon, 28 Oct 2013 22:44:18 -0400
From: Tim Daly
To: Matteo Serventi
Subject: i can't understand this error

I just tried your example:

                        AXIOM Computer Algebra System 
                          Version: Axiom (May 2012)
              Timestamp: Friday September 27, 2013 at 20:12:11 
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
   Visit http://axiom-developer.org for more information
-----------------------------------------------------------------------------
 
   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase
(1) -> 
(1) -> Q:=FRAC INT;

                                                                 Type: Domain
(2) -> vl:=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10];

            Type: List(OrderedVariableList([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]))
(3) -> RG:=DMP(vl,Q);

                                                                 Type: Domain
(4) -> FRG:=FRAC(RG);

                                                                 Type: Domain
(5) -> IRG:=IDEAL(Q,DirectProduct(#vl,NNI),OrderedVariableList vl,RG)

   (5)
  PolynomialIdeals(Fraction(Integer),DirectProduct(10,NonNegativeInteger),Order
  edVariableList([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]),DistributedMultivariatePolyn
  omial([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10],Fraction(Integer)))
                                                                 Type: Domain

and it doesn't fail here. There is a join function used in Axiom which
has the potential to exceed the lisp limit for argument lists if the
join function is compiled. However, it works fine interpreted. As a 
result the join function is never compiled in Axiom. It looks like you
managed to compile that function somehow.

\start
Date: Mon, 28 Oct 2013 22:58:40 -0400
From: Tim Daly
To: Boris Tschirschwitz
Subject: failures during build

>I have installed Axiom from Git on Linux Mint.  It was actually quite
>painless until the regression tests.  There was one test that
>probably took about 3 hrs and there have been quit= e a lot of
>failures.  I wasn't determined to act on that so I didn't take note
>of the exact failures.  Is there any info about what failures are
>expected?

By default Axiom runs a significant portion of its test suite during
build. There are tests in the suite which are known to fail and are
open bugs. This is not a sign of a problem that should affect you.

Axiom runs about 150,000 tests during build. There are another
125,000 long running tests normally skipped. You can skip all
testing by doing:

    make TESTSET=3Dnotests

If you do run the tests this is an example of what you are likely to see:
======================================================================
int/input/Comparable.regress:regression result FAILED 1 of 1 stanzas file
Comparable
int/input/FileName.regress:regression result FAILED 2 of 18 stanzas file
FileName
int/input/RadicalSolvePackage.regress:regression result FAILED 6 of 21
stanzas file RadicalSolvePackage
int/input/cachedf.regress:regression result FAILED 1 of 8 stanzas file
cachedf
int/input/charlwood.regress:regression result FAILED 4 of 250 stanzas file
charlwood
int/input/clements.regress:regression result FAILED 1 of 6 stanzas file
clements
int/input/cmds.regress:regression result FAILED 2 of 20 stanzas file cmds
int/input/dop.regress:regression result FAILED 1 of 127 stanzas file dop
int/input/en.regress:regression result FAILED 1 of 7 stanzas file en
int/input/fname.regress:regression result FAILED 1 of 9 stanzas file fname
int/input/fname1.regress:regression result FAILED 2 of 18 stanzas file
fname1
int/input/grpthry.regress:regression result FAILED 8 of 68 stanzas file
grpthry
int/input/guess.regress:regression result FAILED 72 of 102 stanzas file
guess
int/input/rich11a.regress:regression result FAILED 44 of 1407 stanzas file
rich11a
int/input/rich11d.regress:regression result FAILED 2 of 1419 stanzas file
rich11d
int/input/tuplebug.regress:regression result FAILED 1 of 1 stanzas file
tuplebug
int/input/unittest1.regress:regression result FAILED 1 of 96 stanzas file
unittest1

\start
Date: Tue, 29 Oct 2013 00:32:36 +0100
From: Boris Tschirschwitz
To: list
Subject: Regression tests

I have installed Axiom from Git on Linux Mint.  It was actually quite
painless until the regression tests.  There was one test that probably
took about 3 hrs and there have been quite a lot of failures.  I
wasn=92t determined to act on that so I didn=92t take note of the
exact failures.  Is there any info about what failures are expected?

\start
Date: Tue, 29 Oct 2013 10:15:32 +0100
From: Matteo Serventi
To: Tim Daly
Subject: Re: i can't understand this error

Thank you for your answers; that's all what i do:

matteo@vaio:~$ axiom
GCL (GNU Common Lisp)  2.6.7 CLtL1    Feb  1 2012 08:59:12
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
                        AXIOM Computer Algebra System
                        Version: Axiom (January 2012)
                Timestamp: Monday April 23, 2012 at 15:48:15
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
   Visit http://axiom-developer.org for more information
-----------------------------------------------------------------------------

   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase
(1) ->
(1) -> Q:=FRAC INT
(1) ->
   (1)  Fraction(Integer)
                                                                 Type:
Domain
(2) -> vl:=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]
(2) ->
   (2)  [t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]
            Type:
List(OrderedVariableList([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]))
(3) -> RG:= DMP(vl,Q)
(3) ->
   (3)

DistributedMultivariatePolynomial([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10],Fraction(I
  nteger))
                                                                 Type:
Domain
(4) -> FRG:=FRAC(RG)
(4) ->
   (4)

Fraction(DistributedMultivariatePolynomial([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10],F
  raction(Integer)))
                                                                 Type:
Domain
(5) -> IRG:=IDEAL(Q,DirectProduct(#vl,NNI),OrderedVariableList vl, RG)
(5) ->

   >> System error:
    Lisps arglist maximum surpassed

(5) ->

I don't know how to solve this problem. do you think that it may be a
problem due to ubuntu 12.04?

\start
Date: Tue, 29 Oct 2013 11:47:26 -0400
From: Tim Daly
To: Matteo Serventi
Subject: Re: i can't understand this error

I use Ubuntu 12.04 so I don't think that's the problem.

Perhaps you can download the source from axiom-developer.org
and do a fresh build. All you need to do is:

git clone git://github.com/daly/axiom.git
cd axiom
export AXIOM=`pwd`/mnt/ubuntu
export PATH=$AXIOM/bin:$PATH
make TESTSET=notests

Let me know if this fails.

\start
Date: Tue, 29 Oct 2013 17:01:18 +0100
From: Matteo Serventi
To: Tim Daly
Subject: Re: i can't understand this error

Thank you; i follow your suggest but it still doesn't work.

matteo@vaio:~$ git clone git://github.com/daly/axiom.git
Cloning into 'axiom'...
remote: Counting objects: 28406, done.
remote: Compressing objects: 100% (5815/5815), done.
remote: Total 28406 (delta 22742), reused 28188 (delta 22528)
Receiving objects: 100% (28406/28406), 320.57 MiB | 4.80 MiB/s, done.
Resolving deltas: 100% (22742/22742), done.
matteo@vaio:~$ cd axiom
matteo@vaio:~/axiom$ export AXIOM='pwd'/mnt/ubuntu
matteo@vaio:~/axiom$ export PATH=$AXIOM/bin:$PATH
matteo@vaio:~/axiom$ make TESTSET=notests
13 making noweb
patching file modules.c
patching file Makefile
make[1]: [install-shell] Errore 1 (ignorato)
make[1]: [install-code] Errore 1 (ignorato)
texhash: /usr/local/share/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: Done.
make[1]: [install-elisp] Errore 1 (ignorato)
0 AWK=gawk BOOKS=/home/matteo/axiom/books BUILD=full BYE=bye CC=gcc CCF=-O2
-fno-strength-reduce -Wall -D_GNU_SOURCE -DLINUXplatform -I/usr/X11/include
COMMAND=/usr/local/axiom/mnt/ubuntu/bin/axiom
DAASE=/home/matteo/axiom/src/share DESTDIR=/usr/local/axiom
DOCUMENT=/home/matteo/axiom/mnt/ubuntu/bin/document
GCLDIR=/home/matteo/axiom/lsp/gcl-2.6.8pre7 GCLOPTS=--enable-vssize=65536*2
--enable-locbfd --disable-dynsysbfd --disable-statsysbfd
--enable-maxpage=512*1024 --disable-xgcl --disable-tkconfig
GCLVERSION=gcl-2.6.8pre7 INC=/home/matteo/axiom/src/include
INT=/home/matteo/axiom/int LDF= -L/usr/X11R6/lib -L/usr/lib  -lXpm LISP=lsp
LSP=/home/matteo/axiom/lsp MNT=/home/matteo/axiom/mnt NOISE=-o
/home/matteo/axiom/obj/tmp/trace O=o OBJ=/home/matteo/axiom/obj PART=cprogs
PATCH=patch PLF=LINUXplatform RANLIB=ranlib RUNTYPE=serial
SPAD=/home/matteo/axiom/mnt/ SPADBIN=/home/matteo/axiom/mnt/ubuntu/bin
SPD=/home/matteo/axiom SRC=/home/matteo/axiom/src SRCDIRS=interpdir
sharedir algebradir etcdir clefdir docdir graphdir smandir hyperdir
browserdir inputdir SUBPART=everything SYS=ubuntu
TANGLE=/home/matteo/axiom/mnt/ubuntu/bin/lib/notangle TAR=tar
TESTSET=notests TMP=/home/matteo/axiom/obj/tmp TOUCH=touch
UNCOMPRESS=gunzip VERSION=Axiom (May 2012)
WEAVE=/home/matteo/axiom/mnt/ubuntu/bin/lib/noweave XLIB=/usr/X11R6/lib
ZIPS=/home/matteo/axiom/zips
10 copying /home/matteo/axiom/src/scripts to
/home/matteo/axiom/mnt/ubuntu/bin
p1 making a parallel system build
1 making a ubuntu system, PART=cprogs SUBPART=everything
2 Environment AWK=gawk BOOKS=/home/matteo/axiom/books BUILD=full BYE=bye
CC=gcc CCF=-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -DLINUXplatform
-I/usr/X11/include COMMAND=/usr/local/axiom/mnt/ubuntu/bin/axiom
DAASE=/home/matteo/axiom/src/share DESTDIR=/usr/local/axiom
DOCUMENT=/home/matteo/axiom/mnt/ubuntu/bin/document
GCLDIR=/home/matteo/axiom/lsp/gcl-2.6.8pre7 GCLOPTS=--enable-vssize=65536*2
--enable-locbfd --disable-dynsysbfd --disable-statsysbfd
--enable-maxpage=512*1024 --disable-xgcl --disable-tkconfig
GCLVERSION=gcl-2.6.8pre7 INC=/home/matteo/axiom/src/include
INT=/home/matteo/axiom/int LDF= -L/usr/X11R6/lib -L/usr/lib  -lXpm LISP=lsp
LSP=/home/matteo/axiom/lsp MNT=/home/matteo/axiom/mnt NOISE=-o
/home/matteo/axiom/obj/tmp/trace O=o OBJ=/home/matteo/axiom/obj PART=cprogs
PATCH=patch PLF=LINUXplatform RANLIB=ranlib RUNTYPE=serial
SPAD=/home/matteo/axiom/mnt/ SPADBIN=/home/matteo/axiom/mnt/ubuntu/bin
SPD=/home/matteo/axiom SRC=/home/matteo/axiom/src SRCDIRS=interpdir
sharedir algebradir etcdir clefdir docdir graphdir smandir hyperdir
browserdir inputdir SUBPART=everything SYS=ubuntu
TANGLE=/home/matteo/axiom/mnt/ubuntu/bin/lib/notangle TAR=tar
TESTSET=notests TMP=/home/matteo/axiom/obj/tmp TOUCH=touch
UNCOMPRESS=gunzip VERSION=Axiom (May 2012)
WEAVE=/home/matteo/axiom/mnt/ubuntu/bin/lib/noweave XLIB=/usr/X11R6/lib
ZIPS=/home/matteo/axiom/zips
/home/matteo/axiom/mnt/ubuntu/bin/lib/notangle: 1: eval:
pwd/mnt/ubuntu/bin/lib/markup: not found
/home/matteo/axiom/mnt/ubuntu/bin/lib/notangle: 1: eval:
pwd/mnt/ubuntu/bin/lib/nt: not found
make: *** [all] Errore 127
matteo@vaio:~/axiom$ axiom
GCL (GNU Common Lisp)  2.6.7 CLtL1    Feb  1 2012 08:59:12
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
                        AXIOM Computer Algebra System
                        Version: Axiom (January 2012)
                Timestamp: Monday April 23, 2012 at 15:48:15
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
   Visit http://axiom-developer.org for more information
-----------------------------------------------------------------------------

   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase
(1) ->
(1) -> Q:=FRAC INT
(1) ->
   (1)  Fraction(Integer)
                                                                 Type:
Domain
(2) -> vl:=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]
(2) ->
   (2)  [t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]
            Type:
List(OrderedVariableList([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]))
(3) -> RG:= DMP(vl,Q)
(3) ->
   (3)

DistributedMultivariatePolynomial([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10],Fraction(I
  nteger))
                                                                 Type:
Domain
(4) -> FRG:=FRAC(RG)
(4) ->
   (4)

Fraction(DistributedMultivariatePolynomial([t1,t2,t3,t4,t5,t6,t7,t8,t9,t10],F
  raction(Integer)))
                                                                 Type:
Domain
(5) -> IRG:=IDEAL(Q,DirectProduct(#vl,NNI),OrderedVariableList vl, RG)
(5) ->

   >> System error:
    Lisps arglist maximum surpassed


\start
Date: Wed, 30 Oct 2013 19:29:11 +0100
From: Matteo Serventi
To: Tim Daly
Subject: Re: i can't understand this error

I installed the following additive components and now it works.

Thank you

Matteo

\start
Date: Thu, 31 Oct 2013 11:35:01 -0400
From: Camm Maguire
To: Tim Daly
Subject: Windows

Greetings!  Are there instructions to build just the lisp/axiom stuff,
and skip any of 1) the docs 2) clef 3) sman 4) bsd/X11 specific c code? 

I'm testing gcl 2.6.10 pre-release, and have resolved a long standing
issue on windows.  maxima and acl2 now go through natively using the
latest mingw/gcc tools.   Was hoping to test axiom as well.  The website
prescription of downloading portabile ubuntu will obviously work, but
won't stress test the windows binary compiler/loader in gcl.

I've installed texlive, and get to bsdsignal.c before crashing (which it
of course must do).

\start
Date: Thu, 31 Oct 2013 19:39:24 +0100 (CET)
From: Fabio Stumbo
To: list
Subject: Editing command lines in terminal

If I recall a previous command line via the up arrow and then I edit it, 
the line will usually be messed up.

If I start axiom with -nox it works fine but I will lose the tab 
completion.

Is there a way to have both features or do I need to choose which one is 
more useful to me?

Thanks

Fabio



\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
