Since I like the Maxima CAS, I decided to open a discussion thread about the Android port of this software.
This system can be installed in every Android device (even the lowest grade smartphones), and requires about 90 Mb of storage space to install (32 Mb in internal storage is mandatory, the other stuff can be installed in SD card).
Just open Google Play on your Android smartphone/tablet and search for "Maxima on Android".
Once the APK is sucefully installed, the program asks first the location of data files (about 60 Mb), and then just wait (low Android devices can take up a minute to install everything) to install the LISP interpreter, all Maxima code written in LISP, the Gnuplot renderer, and finally the full Maxima Manual (you need to read this first!
).
When all stuff is installed, the program restarts and prompt you to a single command line box (the input area), and a virtual page to display the results and other technical information. (Math formulas are rendered with a built-in LaTeX parser).
Using the Menu button, you can open the Maxima Manual and read all stuff (you can even program in Maxima
) before you try, but I will take a quick guide to use.
All comands sentences should end with a semicolon (
, or a syntax error will be prompted.
E.g: "2+6;" will give "8" , in output area.
Since Maxima was written in LISP, the main syntax obeys the structures of lists and sentences (but you don't need to use the RPN format)
Maxima suports all trigonometric functions, exponentials and natural logarithms. Some special functions like Riemann's zeta function, gamma function, Bessel functions are fully supported.
Maxima can calculate many simbolic integrals, just use the primitive command: "integrate"
e.g: integrate(x^2,x);
Result:
x^3/3
Defined integrals are normally calculated using the Barrow's Rule, but in some situations some advanced technics like the [wikipedia]Residue_theorem[/wikipedia] are used, or in some special cases, special functions are used.
e.g: Maxima cannot evaluate the following integral:
integrate((x*sin(x)+cos(x))/(x^4+x^2+1),x);
(It will retirn the result unevaluted, since it don't knows any anti-derivative of the sample function written above):
But if the limits of integration are all real line (minus infinity to plus infinity), and the poles of function are imaginary numbers, then the Residues Theorem are used by Maxima, and the integral are calculated:
integrate((x*sin(x)+cos(x))/(x^4+x^2+1),x,-inf,+inf);
(The result are:)
exp(-sqrt(3)/2)*((2*sqrt(3)+3)*pi*sin(1/2)+sqrt(3)*pi*cos(1/2))/3
Maxima knows some constants like the Euler's number (%e), the Pi (%pi), the imaginary constant (%i) and the Euler-Mascheroni constant (%gamma), and all is signed by the % prefix to avoid confusion.
Other example of integration calculus involve some adicional parameter that Maxima can ask during evalution:
e.g: integrate(cos(x^n),x,0,inf);
Maxima don't know the domain of n, so it ask if n is positive or negative, and you need to answer in input box (positive;).
After a couple of questions, Maxima outputs the result:
gamma(1/n)*cos(pi/(2*n))/n
To calculate derivatives, just use the diff operator:
e.g: diff(sin(x),x);
output: cos(x)
Maxima can even calculate derivatives of special functions:
diff(gamma(x),x);
gamma(x)*psi[0](x)
diff(psi[n](x),x);
psi[n+1](x)
I hope you enjoy this simple introduction...