axiom-developer
[Top][All Lists]

## [Axiom-developer] [Common Mistakes] (new)

 From: billpage Subject: [Axiom-developer] [Common Mistakes] (new) Date: Sun, 20 Mar 2005 21:25:46 -0600

Changes http://page.axiom-developer.org/zope/mathaction/CommonMistakes/diff
--
1 Omitting the {axiom} enviroment

You have to use !\begin{axiom} ... \end{axiom}
or !\begin{reduce} ... \end{reduce} before and after the command
like this::

!\begin{reduce}
int(1/(a+z^3), z);
\end{reduce}

2 Axiom commands do not end with ;

Oh yes, note that for Axiom you don't end the command with ; and
the command for integration in Axiom is 'integrate'.
\begin{axiom}
integrate(1/(a+z^3), z)
\end{axiom}

2 Reduce commands must end with a semicolon ;

But it must be there for Reduce.
\begin{reduce}
r^2+r+1;
\end{reduce}

3 In Axiom 'ln' is written 'log'

This won't work::

!\begin{axiom}integrate((x^2+2*x*ln(x)+5)/(sin(x^2+x^3-x^4)^2),
x)\end{axiom}

Put the !\begin{axiom} and \end{axiom} on separate lines and
notice that in Axiom 'ln' is written 'log'
\begin{axiom}
integrate((x^2+2*x*log(x)+5)/(sin(x^2+x^3-x^4)^2), x)
\end{axiom}

4 Don't put a \\ in front of the axiom command

This is wrong::

!\begin{axiom}
\sqrt{49/100}
\end{axiom}

Begin each comment with an explanation. Don't put \\ in front of the Axiom
command.

Do it like this::

Some explanation
!\begin{axiom}
sqrt{49/100}
\end{axiom}

Some explanation
\begin{axiom}
sqrt{49/100}
\end{axiom}

5 No \$before and after This is wrong:: !\begin{axiom} \$ \\sqrt{49/100} \$\end{axiom} Don't put \$ before and after \\$ and there is no \\ in front.

Just do it like this::

!\begin{axiom}
sqrt{49/100}
\end{axiom}

and what you will see is this:
\begin{axiom}
sqrt{49/100}
\end{axiom}

6 Axiom sometimes interprets commands in unexpected ways

This command appears to work
\begin{axiom}
integrate(x^5 ln[x],x)
\end{axiom}

But notice that
\begin{axiom}
5 ln[x]
\end{axiom}

is something strange. Oddly perhaps, Axiom interprets '5' as a
UnivariatePolynomial and 'ln![x]' as a subscripted Symbol and the
result is a univariate polynomial in the variable 'ln![x]'.

So perhaps what you meant to write was:
\begin{axiom}
integrate(x^5*log(x),x)
\end{axiom}

7 Use braces not parenthesis after 'begin' and 'end'

The command::

\begin(axiom)
integrate(sin(x))
\end(axiom)

wont work.

Use "braces" like this { } not parenthesis ( ) around {axiom}.

Finally, unless the expression is a univariate polynomial, then you must also
specify the variable with which to integrate.
\begin{axiom}
integrate(sin(x),x)
\end{axiom}

8 Use parenthesis not braces in Axiom commands

This command::

!\begin{axiom}
solve{xy=1,x}
\end{axiom}

uses {} after the solve operation. This is syntactically correct but
it probably doesn't do what you might expect.
\begin{axiom}
solve{xy=1,x}
\end{axiom}

In Axiom {...,...} is executed as a block of commands which
returns the result of the last command in the sequence. Compare
\begin{axiom}
a:={xy=1,x}
\end{axiom}
which is just 'x' to
\begin{axiom}
b:=(xy=1,x)
\end{axiom}
solve normally operates on such a *tuple* and
\begin{axiom}
c:=[xy=1,x]
\end{axiom}
which is a list and finally
\begin{axiom}
c:=set [xy=1,x]
\end{axiom}
which is how to construct a set.

Also notice that multiplication must be written using *
\begin{axiom}
solve(x*y=1,x)
\end{axiom}

9 Use %minusInfinity and %plusInfinity

I'd like to see if Axiom can do my favorite definite integral::

!\begin{axiom}
integrate(x^4/(sinh(x))^2,x,-inf,inf)
\end{axiom}

In Axiom use %minusInfinity and %plusInfinity instead of -inf and inf.
\begin{axiom}
integrate(x^4/(sinh(x))^2,x=%minusInfinity..%plusInfinity)
\end{axiom}

10 Numeric conversions

The results of calculations depend on the type of the inputs

\begin{axiom}
asin(1/2)
asin(.5)
\end{axiom}

You can tell Axiom that you would like the result expressed
as a floating point number (if possible) using @. For example:
\begin{axiom}
asin(1/2)@Float
\end{axiom}

--