login  home  contents  what's new  discussion  bug reports help  links  subscribe  changes  refresh  edit

# Edit detail for FriCASTutorial revision 6 of 10

 1 2 3 4 5 6 7 8 9 10 Editor: hemmecke Time: 2014/03/03 17:56:55 GMT+0 Note:

changed:
-and Quentin Carpent at http://la.riverotte.free.fr/axiom
and Quentin Carpent at
http://pages.saclay.inria.fr/daniel.augot/documents/axiom_intro.pdf
<!-- http://la.riverotte.free.fr/axiom -->



Most introductory material about Axiom applies to FriCAS.
The [Axiom Volume 1]: Tutorial is available in printed format at

There is a good introduction to Axiom by Martin N. Dunstan,
in English, at
a complete introduction to Axiom by Daniel Augot, en Français, is
available at http://www-rocq.inria.fr/codes/Daniel.Augot/axiom_intro.pdf
an Axiom tutorial and a collection of exercises by Christophe Conil
and Quentin Carpent at
http://pages.saclay.inria.fr/daniel.augot/documents/axiom_intro.pdf

(local copy http://axiom-wiki.newsynthesis.org/public/axiom/)
(released under CC-BY-SA )
and a blog by
Alasdair McAndrew
containing an excellent introduction to Axiom.
Extending the FriCAS library is done in the programming language SPAD.
Find introductory material on the page ProgrammingSPAD.

A Quick Tutorial
On this web site you can enter FriCAS commands and see the output
in proper mathematical form. These commands can also be typed
directly into FriCAS installed on your own computer.
You must enclose each set of FriCAS commands in a \begin{axiom} \end{axiom} section. For example:
\begin{axiom}
[1/2, 3/4, 2/3]
\end{axiom}

When you save the changes you make to a page, FriCAS? processes the contents of each section you have marked
and the FriCAS? output is displayed.
Try this command:
fricas[1/7, 3/4, 5/6]
\begin{equation*}
\label{eq1}\left[{1 \over 7}, \:{3 \over 4}, \:{5 \over 6}\right]?\end{equation*}
Type: List(Fraction(Integer))
Please feel free to play with this in the SandBox?!
Let's see if we can perform a finite window Fourier inversion.
fricassimplify(integrate(exp(%i*_\omega*t) * exp(-%i*_\omega * _\tau), _\omega=-_\Omega .. _\Omega))
\begin{equation}
\label{eq2}{\left(
\begin{array}{@{}l}
\displaystyle
-{i \ {{e}^{{i \  \Omega \  t}-{i \  \Omega \  \tau}}}}+
\
\
\displaystyle
{i \ {{e}^{-{i \  \Omega \  t}+{i \  \Omega \  \tau}}}}
\end{array}
\right)}\over{t - \tau}\end{equation}
Type: Expression(Complex(Integer))
Try this integrating this
fricas2*x/sin(x)^2
\begin{equation}
\label{eq3}{2 \  x}\over{{\sin \left({x}\right)}^{2}}\end{equation}
Type: Expression(Integer)
fricasintegrate(%,x)
\begin{equation}
\label{eq4}{\left(
\begin{array}{@{}l}
\displaystyle
{2 \ {\sin \left({x}\right)}\ {\log \left({{\sin \left({x}\right)}\over{{\cos \left({x}\right)}+ 1}}\right)}}-{2 \ {\sin \left({x}\right)}\ {\log \left({2 \over{{\cos \left({x}\right)}+ 1}}\right)}}-
\
\
\displaystyle
{2 \  x \ {\cos \left({x}\right)}}
\end{array}
\right)}\over{\sin \left({x}\right)}\end{equation}
Type: Union(Expression(Integer),...)
Now differentiate it
fricasD(%,x)
\begin{equation}
\label{eq5}{{2 \  x \ {{\sin \left({x}\right)}^{2}}}+{2 \  x \ {{\cos \left({x}\right)}^{2}}}}\over{{\sin \left({x}\right)}^{2}}\end{equation}
Type: Expression(Integer)
fricassimplify(%)
\begin{equation}
\label{eq6}-{{2 \  x}\over{{{\cos \left({x}\right)}^{2}}- 1}}\end{equation}
Type: Expression(Integer)
Expressions (3) and (6) are really that same.
fricassimplify(%%(3) - %%(6))
\begin{equation}
\label{eq7}0\end{equation}
Type: Expression(Integer)
fricasD(x^x,x)
\begin{equation}
\label{eq8}{{\log \left({x}\right)}\ {{x}^{x}}}+{x \ {{x}^{x - 1}}}\end{equation}
Type: Expression(Integer)
See, that was easy!
Here are some more things to try.
fricasintegrate(log(sin(x)),x=0..%pi)
\begin{equation}
\label{eq9}\mbox{\tt "potentialPole"}\end{equation}
Type: Union(pole: potentialPole,...)
fricaslimit(sum(1/i^2,i=1..n),n=%plusInfinity)
>> Error detected within library code:
a sum cannot be differentiated with respect to a bound
Can you explain these results?
For more details see: FriCASProgramming? .
Special FriCASWiki? Markup for Programming
To include Spad programs on web pages in this website click edit (or when adding comments or in bug reports) use:
)abbrev ...
...

Aldor
To include Aldor programs on pages in this website use:
\begin{aldor}
...
\end{aldor}

or:
\begin{aldor}[name]
...
\end{aldor}

LaTeX?
You can add LaTeX? formatted equations to pages on this web site by:
$$...$$

and inline symbols such as $\alpha +\beta$ are written like this: $\alpha +\beta$
To include arbitrary LaTeX? on pages in this website use:
\begin{latex}
...
\end{latex}

Lisp
To include Lisp programs on pages in this website use:
\begin{lisp}
...
\end{lisp}

Boot
To include Boot programs on pages in this website use:
\begin{boot}
...
\end{boot}

Broken link --Yrogirg,  Fri, 01 Apr 2011 09:10:57 -0700 replyThe link to the tutorial by Martin N. Dunstan doesn't work (http://www.dcs.st-andrews.ac.uk/~mnd/documentation/axiom_tutorial). I can't find this tutorial elsewhere.

Some or all expressions may not have rendered properly, because Latex returned the following error:
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
\write18 enabled.
%&-line parsing enabled.
entering extended mode
I can't find file 5960012916500571187-16.0px.tex'.
<*> 5960012916500571187-16.0px.tex
Please type another input file name
Emergency stop.
<*> 5960012916500571187-16.0px.tex
No pages of output.
Transcript written on texput.log.
`