Monday, September 5, 2011

MathJax - displaying LaTeX math in Blogger

Ok, so I apparently either forgot to post this or it somehow got erased. I think I just forgot. Anyways, this is what I found to use to display LaTeX math in my Blogger post. MathJax also displays MathML. You can install a javascript into you Blogger template or install MathJax to work from your own server.

I did the install from the CDN. I posted this Javascript into my Blogger template. I think you could do it for just post with LaTeX math displays, but I figured this would be the easiest way to do it. It may pose problems later, but we'll see.
<script type="text/javascript"
  src="https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

My screen shot of where I pasted the Javascript in my Blogger template. Just go to the Edit HTML tab. I pasted it near the top of the template and it works! (At least for me and my template.)



To insert inline equations you must use:
 \(...\) 
To insert a set off "mathdisplay" equations you can use:
 \[...\], $$...$$, \begin{equation}...\end{equation} 
or any other math environment such as:
 \begin{align}...\end{align} 


MathJax - Beautiful math in all browsers - http://www.mathjax.org/

From their website:
MathJax is an open source JavaScript display engine for mathematics that works in all modern browsers.

No more setup for readers. No more browser plugins. No more font installations… It just works.

MathJax features and benefits

High-quality typography. MathJaxTM uses modern CSS and web fonts, instead of equation images or Flash, so equations scale with surrounding text at all zoom levels. See how this works in the scaling math demo.

Simple integration. Using MathJax with blogs, wikis, web pages and other web apps is easy. Learn more about installing MathJax with popular platforms like WordPress, MediaWiki, Drupal, and more.

A rich API. Allows developers to create interactive course materials, advanced authoring tools, and math-enabled web apps. Learn how more about programming with MathJax

Works in all modern browsers. This allows the math in your content to be seen clearly by virtually all readers, even those using smart phones. See
supported browsers..

Copy and paste math. Let readers copy equations from your web pages into Word and LaTeX documents, science blogs, research wikis, calculation software like Maple, Mathematica and more. Watch the copy and paste demo.

Accessible math. MathJax is compatible with screenreaders used by people with vision disabilities, and the Zoom feature allows all readers to see small details like scripts, primes and hats. See how to make your math accessible.


Logo from their website:


Pleas donate if you like!
If you like MathJax, please consider making a donation. This helps pay for CDN charges, rapid bug response and browser testing. Thank you for your support! (Please note MathJax is not a tax-exempt US 501c entity).
http://www.pledgie.com/campaigns/15200

Sunday, September 4, 2011

Numerical Mathematics - Solving the heat diffusion equation

This post is influenced by a homework problem from a numerical PDE class I took this past summer (2011). This problem examines the DMOLCH routine and Gear's method for a heat diffusion equation. We are to reproduce data found in a journal paper.  The numerics to obtain can be found in the journal article "Temperature distribution in dental tissue after interaction with femtosecond laser pulses" by Pike et al in Applied Optics, Vol. 46,  Num. 34, Dec. 2007.  I also include some discussion on IMSL, FORTRAN, MOL and many other topics associated with this problem.  I will also have individual posts on these topics as well.


IMSL stands for the International Mathematics and Statistics Library and consist of numerous commercial software library utilized in numerical analysis in various programming languages organized by Rogue Wave Software [1, 2]. According to the 2003 Visual Numerics IMSL Fortran Library User’s Guide Math Library Volume 2 of 2 - Mathematical Functions in Fortran [3], the package routine DMOLCH is the double precision version of the routine MOLCH in the Fortran 77 interface which of course is single precision. In the Fortran 90 interface the specific interface names are S MOLCH and D MOLCH for double and single precision, respectively. The routine MOLCH according to the 2003 guide,
Solves a system of partial differential equations of the form \( u_t = f \left( x, t, u, u_x, u_{xx} \right) \)  using the method of lines. The solution is represented with cubic Hermite polynomials.
According to the 2010 guide, Visual Numerics IMSL Fortran Numerical Library User’s Guide Math Library Version 7.0 [4], the MOLCH routine has been “deprecated” by the new routine MMOLCH, where the definition remains the same as the quote above and the specific F90 interface names for single and double precision are S MMOLCH and D MMOLCH, respectivley.

The method of lines (MOL) is described by Wouwer et al [5] in the second section of the first chapter in the book entitled Adaptive Method of Lines [6]. The MOL attacks and aims to solve partial differential equations (PDEs) with the form \begin{equation} \textbf{u}_t = \textbf{f}(\textbf{u}), \quad \quad \textbf{x}_l < \textbf{x} < \textbf{x}_r, \quad \quad t > 0 \end{equation} where \begin{align*} \textbf{u}_t &= \dfrac{\partial \textbf{u}}{\partial t} \\ \textbf{u} &= \text{vector of dependent variables} \\ t &= \text{initial value independent variable} \\ \textbf{x}& = \text{boundary value independent variables} \\ \textbf{f} &= \text{spatial differential operator} = \textbf{f} \left( \textbf{x}, t, \textbf{u}, \textbf{u}_x,\textbf{u}_{xx}, \ldots \right) \end{align*} Wouwer et al [5] divide the MOL process into two sections. The first step discretizes the spatial derivatives, \( \textbf{u}_x, \textbf{u}_xx, \ldots \) using finite difference (FD) or finite element (FE) methods. The second step involves integrating the resulting system of semi-discrete ordinary differential equations (ODEs) in the initial value variable wrt to time, \( t \).

As an example of the MOL, Wouwer et al [5] utilize the linear advection equation to demonstrate the process. \[ \dfrac{\partial u}{\partial t} = -v \dfrac{\partial u}{\partial x} \] To begin, the equation is discretized in the spatial realm of \( x \) into an \( N \) number of grid points which are spaced evenly by the distance \( \delta x \). The spatial derivative, \( \partial u/ \partial x \), is then approximated by its second order centered FD beginning at grid point \( i \) up to the maximum discretization point \( N \) so that \[ \dfrac{\partial u}{\partial x} = -v \dfrac{u_{i+1} - u_{i-1}}{2 \Delta x} + O \left( \Delta x^2 \right), \quad i = 1, 2, \cdots, N \] Then assuming a value of \( v = 1 \) and substituting into \( \partial u/\partial t = -v \partial u/\partial x \) results in the equation \[ \dfrac{\mathrm{d} u}{\mathrm{d} t} = -\dfrac{u_{i+1} - u_{i-1}}{2 \Delta x}, \quad i = 1, 2, \cdots, N \]

Wouwer et al [5] next mention that at this point a system of \( N \) ODEs are generated which can then be integrated by an already developed by a library ODE integrator. An initial condition must then be specified next at the \( N \) grid points and the false points \( u_0 \) and \( u_{N + 1} \) for \( i = 1 \) and \( i = N \).  Thus, if an example of the equation is solved for two step functions separated by a time interval of \( t = 50 \)  or simply a square pulse, with a spatial length of \( N =101 \) or 100 intervals with a length of \( \Delta x \), the solution exhibits oscillatory behavior as seen in the figure by Wouwer et al [5]. This oscillation is of course false and is caused by the numerics of the problem known as a numerical distortion.


Wouwer et al [5] further discuss some issues here about this problem that I feel like are good points to intake. First is a continuation of the numerical oscillation problem. Wouwer et al express the problem that the oscillations do not dissipate with an increase in grid resolution in the spatial direction \( x \) or, in other words, and increase in the number of intervals, even though the FD equation is of the second order so you would expect as \( \Delta x \)  decreased the error would decrease \( O \left( \Delta x^2 \right) \).  Thus, the observation is made that will a reasonable method of approximation of a linear PDE broken down into a system of ODEs is accomplished the solutions are inaccurate.

In fact, Wouwer et al [5] explain that the accuracy of the numerical solution is dependent upon the smoothness of the analytical solution. For instance, rather than the two discontinuous jumps encountered with the square wave, a “more smooth” function would be a triangular pulse where \( u\left(x,t\right) \) is continuous but \( \partial u/\partial x \) is not continuous. As shown in the figure the MOL numerical solution (dots) matches much closer with the actual solution (solid line). Finally, if  the initial condition is even “smoother” such as a cosine function, then the oscillations diminish even more.  Thus, if the initial condition contains non-smooth characteristics such as discontinuities, then the discontinuities spread through the time and space variables which is indicative of hyperbolic PDEs.

However, Gear’s method is also utilized by Pike et al [8]. Gear’s method as defined by Hoffman [7] was developed by Gear in 1971 [9]. Gear’s method contains much larger stability limits for a series of implicit FD equations (FDEs). The formula appears as

\[ y_{n+1} = \gamma \left[ \beta h f_{n+1} + \left( \alpha_0 y_n + \alpha_{-1} y_{n-1} + \alpha_{-2} y_{n-2} + \cdots \right)\right] \]

where k is the global order of the FDE and the coefficients \( \gamma \), \( \beta \), \( \alpha_i \left( i = 0, 1, 2, \ldots \right) \) are shown in the table  from Hoffman [7].

In addition, an interesting comment from Hoffman [7] cites that the Gear FDEs are in a FORTRAN package named LSODE which came about from researchers at Lawrence Livermore National Laboratory. According to Hoffman, this package utilizes

"...an elaborate error control procedure based on using various-order Gear FDEs in conjunction with step size halving and doubling."

Additional notes from Hoffman explain that stiff ODEs contain extra issues for solutions.  Usually explicit methods do not work for stiff ODEs.  However, implicit methods such as the Gear method do work for stiff problems.  Hoffman defines stiff ODEs as where

"...at least one eigenvalue has a large negative real part which causes the corresponding component of the solution to vary rapidly compared to the typical scale of variation displayed by the rest of the solution."

Velten [10] states that stiff ODEs pose issues since the numerical solutions may oscillate as demonstrated beforehand. Thus, small step sizes must be implemented to obtain a correct solution. Also of note is Velten’s mention of a few software packages such as Maxima and R.  Velten gives another name for the Gear method as the backward differentiation formulas (BDF) method. A part of R’s odesolve package is lsoda which stands for Livermore Solver for Ordinary Differential Equations (automatic) which came about from Petzold and Hindmarsh at California’s Lawrence Livermore National Laboratory [11, 12]. The lsoda package has a unique feature in which it automatically switches between methods for stiff and nonstiff sets of ODEs which is one of the main differences from lsode. As a further side note, according to Soetaert et al [13] the package odesolve is planned to be deprecated and deSolve is the package successor. The nonstiff case utilizes the Adams method with a variable stepsize and a variable order of up to 12th order. For the stiff case of ODEs, the lsoda package utilizes the BDF method with a variable stepsize and a variable order of up to 5th order.

In order to answer the question of stiff ODEs, let's look at an example in A First Course in the Numerical Analysis of Differential Equations by Iserles [14].

Hoffman [7] states that stiffness appears for single linear and nonlinear ODEs, higher-order linear and nonlinear ODEs, and systems of linear and nonlinear ODEs.  He lists several definitions for stiffness:

1. An ODE is stiff if the step size required for stability is much smaller than the step size required for accuracy.

2. An ODE is stiff if it contains some components of the solution that decay rapidly compared to other components of the solution.

3. A system of ODEs is stiff if at least one eigenvalue of the system is negative and large compared to the other eigen values of the system.

4. From a practical point of view, an ODE is stiff if the step sixe based on cost (i.e., computational time) is too large to obtain an accurate (i.e., stable) solution.

Hoffman [7] also gives a couple of examples.

Also, since it is mentioned let’s talk about Adams methods. According to Iserles [14],


In progress...to be continued.


References:

[1] IMSL Numerical Libraries. 07-23-2011, http://en.wikipedia.org/wiki/IMSL Numerical Libraries

[2] IMSL R Numerical Libraries. imsl-numerical-libraries.aspx 07-23-2011, http://www.roguewave.com/products/

[3] Visual Numerics IMSL Fortran Library User’s Guide Math Library Volume 2 of 2 - Mathematical Functions in Fortran. 07-23-2011, http://www.absoft.com/Support/Documentation/MathV2.pdf, 2003

[4] Visual Numerics IMSL Fortran Numerical Library User’s Guide Math Library Version 7.0. 07-23-2011, http://www.roguewave.com/portals/0/products/imsl-numerical-libraries/fortran-library/docs/7.0/math/math.pdf, 2010

[5] A. Vande Wouwer, P. Saucez, & W. E. Schiesser. Chapter 1 Introduction. A. Vande Wouwer, P. Saucez, & W. E. Schiesser (editors). Adaptive Method of Lines. Chapman & Hall/CRC, Boca Raton, FL. 2001

[6] A. Vande Wouwer, P. Saucez, & W. E. Schiesser (editors). Adaptive Method of Lines. Chapman & Hall/CRC, Boca Raton, FL. 2001



[7] J. D. Hoffman. Numerical Methods for Engineers and Scientists. 2 edition. Marcel Dekker, Inc., New York, NY. 2001



[8] P. Pike, C. Parigger, R. Splinter, and P. Lockhart. Temperature distribution in dental tissue after interaction with femtosecond laser pulses. Applied Optics, Volume 46, Number 34, December 2007

[9] C. W. Gear. Numerical Initial Value Problems in Ordinary Differential Equations, Prentice-Hall, Englewood Cliffs, New Jersey. 1971


[10] K. Velten. Mathematical Modeling and Simulation: Introduction for Scientists and Engineers, Wiley-VCH, Weinheim, Germany. 2009


[11] A. C. Hindmarsh. ODEPACK, a systematized collection of ODE solvers, Scientific Computing, North-Holland, Amsterdam, The Netherlands, pp. 55–64. 1983

[12] L. R. Petzold. Automatic selection of methods for solving stiff and nonstiff systems of ordinary differential equations. SIAM Journal on Scientific and Statistical Computing, 4, 136–48. 1983

[13] K. Soetaert, T. Petzoldt, and R. W. Setzer. Solving Differential Equations in R: Package deSolve. Journal of Statistical Software, 33, 4, February 2010


[14] A. Iserles. A First Course in the Numerical Analysis of Differential Equations. (2nd ed.).
Cambridge University Press, Cambridge, UK. 2009



Additional keywords:

finite difference equations (FDEs), Gear's method, LSODE, LSODA, Adams method, deSolve, R, Maxima, backward differentiation formulas (BDF) method, International Mathematics and Statistics Library (IMSL), Rogue Wave Software, DMOLCH, MOLCH, Fortran, Fortran 90, MMOLCH, Fortran 77, S MOLCH, D MOLCH, S MMOLCH, D MMOLCH, Method of Lines (MOL), Partial Differential Equations (PDEs), Finite Difference (FD), Finite Element (FE), ordinary differential equations (ODEs)

Friday, September 2, 2011

Rotate Lenovo X60 tablet PC screen with a single button in Ubuntu 11.04

oh, unix: Rotate tablet PC screen with a single button in Ubuntu 11.04

Ah, I finally got this to work. I had originally posted a comment on this blogger's post asking for help because I didn't get what to do with everything and where to put it. I never heard back but, eh whatever, I understand as I am pretty busy myself. They even posted a couple of links which they used to develop this shell script and how to get the desktop button launcher to work.

[SOLVED] trying to write a script for screen rotation with xrandr... - January 25th, 2011 - http://ubuntuforums.org/showthread.php?t=1675299

[SOLVED] How do I add my script to the Unity launcher bar? - March 5th, 2011 - http://ubuntuforums.org/showthread.php?t=1700605

I still couldn't figure it out. I think I needed some screen shots and/or just wasn't familiar enough with the terminology/what was going on. (The more I looked at it the more it started to make sense, especially after messing with it in GNOME classic.)

Anyways, I first just switch DEs to Ubuntu Classic and used the GNOME classic interface. I then create a application launcher and added it to the menu, something pretty easy and straight forward in Ubuntu classic/GNOME 2.

You could also use the post I just added on the GNOME classic menu indicator in Unity where the app button should be available from where you originally put it in with the GNOME classic desktop or I guess you cold use the indicator in Unity to do it too.
So as I was trying to figure out how to do this in Unity, as it kept bugging me in the back of my mind because a) I like Unity, especially if it is the future of Ubuntu, and b) it bugs the crap out of me when I can't understand or get something wrong and it won't leave me alone until I figure it out, I came across a couple of more links in google from typing in "adding applications to the unity toolbar" because I knew I was close with the GNOME application. I then went back and looked at the script and .desktop file written by the blogger and it all fell together. One way you could go about it, which I didn't but almost did is from this link using the gconf-editor: Add Favorite Applications to Ubuntu Unity Launcher in Ubuntu 11.04 Natty Narwhal - http://www.liberiangeek.net/2011/04/add-favorite-applications-ubuntu-launcher-11-04-natty-narwhal/
Arranging Applications on the Launcher To arrange applications on the launcher in Unity 2D, press Alt-F2 on your keyboard, then type the command gconf-editor and select gconf-editor program to open.
I then found this link, which was really helpful, on askUbuntu.com: How can I edit/create new launcher items in Unity by hand? - http://askubuntu.com/questions/13758/how-can-i-edit-create-new-launcher-items-in-unity-by-hand I was about to follow the selected answer post, the first, but someone commented to follow the one below it, the second and most voted. This one is much easier and more simple, I think.
This is a method without editing config files and without root privileges. First create the Launcher on the Desktop (only temporary) - right click your desktop - select Create Launcher... - create the custom Launcher as you want to.
Now you got the launcher on the Desktop. If you are satisfied with it, get it in the Launcher Panel: - Open your Home Folder. Press Ctrl + H to show hidden files if necessary. - Browse to .local/share/applications - Drag and drop your Launcher from Desktop to that folder. - Now drag and drop your launcher from .local/share/applications to the Launcher Bar on the left on your Screen. - You can now delete your custom Launcher on the Desktop if it's still there. That's it.
The blogger's script file is (sorry, as I haven't added syntax highlighting to my blogger post, will do later): TabletRotation.sh This Gist brought to you by GitHub.
#!/bin/bash rotation=`xrandr --query --verbose | grep "LVDS1" | awk '{print $5}'` if [ $rotation = "normal" ] then xsetwacom set "Serial Wacom Tablet stylus" Rotate half xrandr -o inverted else xsetwacom set "Serial Wacom Tablet stylus" Rotate none xrandr -o normal fi
RotateButton.desktop This Gist brought to you by GitHub.
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon[en_US]=/usr/share/icons/gnome/256x256/devices/video-display.png Exec=/path/to/script/TabletRotation.sh Name[en_US]=Rotate Tablet PC Screen Comment[en_US]=Toggles Tablet PC rotation Name=Rotate Tablet PC Screen Comment=Toggles Tablet PC rotation
My big flaw was missing this. You need to copy your path to where you located your file by right clicking and selecting properties. So change this:
 Exec=/path/to/script/TabletRotation.sh 
Here is a screen shot of my button on the Unity toolbar.
One thing about the script is that the buttons on the round arrow pad are not inverted. Will try to fix and post about that later.

Ubuntu 11.04 Fix: Add the Classic Gnome Menu (Applications/System/Wine) to the Unity Panel System Tray « Ubuntu Genius's Blog

Ubuntu 11.04 Fix: Add the Classic Gnome Menu (Applications/System/Wine) to the Unity Panel System Tray « Ubuntu Genius's Blog

Uh, this is pretty sweet! If you would like to add an indicator to the top right of Ubuntu Unity 11.04 which produces a GNOME-like classic menu application then run:

sudo add-apt-repository ppa:diesch/testing

sudo apt-get update

sudo apt-get install classicmenu-indicator

Once installed, hit Alt+F2 and enter classicmenu-indicator as the command to run.


Or search in the Unity application button by typing classicmenu-indicator.

Wednesday, August 31, 2011

Octave - Matrix notation and the dot product of vectors

I am going to list some matrix applications in this post for myself (and whoever wishes to utilize this) so I can return to look up later if needed. This post concerns matrix notation and the dot product of vectors, A matrix in Octave is the same notation as in MATLAB:
A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ]
where commas separate columns on a row and the semicolon separates rows. In order to take the dot product between tow vectors we can do:
U = [ 1, 1, 1 

V = [-1, 4, 1]

dot(U, V)

ans =  4

Tuesday, August 30, 2011

Kayali - a Qt based Computer Algebra System

Kayali - http://kayali.sourceforge.net

Overview

Kayali is a Qt based Computer Algebra System (CAS) that can also be used as an advanced replacement for KDE KCalc. It is essentially a front end GUI for Maxima (and is easily extended to other CAS back-ends) and Gnuplot.

Please Note: I am currently targetting a small subset of Maxima, while maintaining a medium-term goal of supporting all of Maxima. Please bear in mind that although Kayali probably does not support what you want to do with it right now, it can be made do so - but I need your feedback to do that. Please try it out if you can and share your thoughts.

Kayali is currently alpha software and has only been tested on my own PC. It you are reading this (condition1 : satisfied) and are prepared to give it a go, then please do send me feedback as to how you get on. At this stage I am particularly looking for hints about where to focus my development efforts, so please email me or post a message to the Kayali sourceforge forum with what you would like to see Kayali support.

I expect to see rapid development of Kayali so please check back regularly for updates.





Requires

Python

Kayali has been written in Python. Nearly all linux installations already have python installed.

Python Web Site

Maxima

Maxima is the engine behind Kayali. It is called a CAS (Computer Algebra System). Kayali passes all its commands to Maxima, so to learn more about the advanced use of Kayali you need to learn Maxima:

Maxima Sourceforge Web Site

PyQt4

PyQt4 is the interface between Python, which Kayali is written in, and Qt4. Qt4 is a great development toolkit developed by Trolltech in Norway.

Trolltech Qt Web Site

Riverbank PyQt Web Site

GnuPlot

(Only required for plotting) GnuPlot is a plotting utility under the GNU umbrella. The 3D plots require v4 or above.

GnuPlot Web Site

libgd

(Only required for plotting) libgd is a gif manipulation library needed by gnuplot to produce png files.

libgd Web Site

User Documentation

Until Kayali reaches beta there is no user documentation. However, a little exploration of the system will go a long way. To learn the more advanced usage of Kayali, go to the Maxima web site.

Maxima Sourceforge Web Site

Acknowledgements

Yapps

Yapps is a python-based parser which I have used for parsing the expressions.

Yapps Web Site

Pexpect

Pexpect is a python-based implementation of Expect, which I am using to communicate with Maxima.

Pexpect Web Site

Monday, August 29, 2011

The KDE Education Project - KAlgebra - Graph Calculator

The KDE Education Project - KAlgebra - Graph Calculator - http://edu.kde.org/applications/mathematics/kalgebra/

Here is a nice graphing scientific calculator type app from KDE in Ubuntu. I have been mainly using this as a graphing/scientific calculator for sin, cos, etc. It doesn't have and explicit square root function, but you can always do ^(1/2) or any other power. It has a nice autofill/autosearch feature. That is, when you begin to type it brings up a list of functions based on your input. Fro example, type "arc" and it brings up "arcsin, arccos, etc."

KAlgebra is a fully featured calculator that lets you plot different types of 2D and 3D functions and to calculate easy and not so easy calculations, such as addition, trigonometric functions or derivatives.

The application has been thought to be easily understandable for students, so that they don't need to read a boring manual. The language is deeply integrated in the UI, providing a dictionary with representations for all the available operations, code highlighting and code completion.



My screenshot:

wxMaxima - initial calculations, first use - finding an angle by the inverse cosine

So I am beginning my endeavor into wxMaxima which I am using for a Mathematica replacement. So far not so bad, I will just have to get use to the syntax and the ways things are done in Maxima. Thus, I will be posting to my blog regularly once I have accomplished, done an example, or figured something out in Maxima even if it is as small and minute as calculation the sine or arcosine whuch is exactly what my first task has been to do.

I am taking a vector calculus course this semester and I needed to find the angle between two vectors. The formula for this is

\begin{equation} \textbf{u} \cdot \textbf{v} = |\textbf{u}||\textbf{v}| \cos \theta \end{equation}

Wednesday, August 24, 2011

Sage in Emacs and TeX

CTAN directory: /macros/latex/contrib/sagetex - http://www.ctan.org/tex-archive/macros/latex/contrib/sagetex/

This is the SageTeX package. It allows you to embed code, results of
computations, and plots from the Sage mathematics software suite
(http://sagemath.org) into LaTeX documents.
====================================================================

The recommended way to acquire and install SageTeX is by installing the
Sage spkg; visit http://sagemath.org/packages/optional/, find the
current version number, and run "sage -i sagetex-[version]" in a
terminal. Then you'll need to make the file sagetex.sty known to TeX;
that file will be in SAGE_ROOT/local/share/texmf/tex/generic/sagetex,
along with documentation and examples.

If you can't or don't want to install SageTeX by using Sage, you can use
this CTAN package. If sagetex.py and sagetex.sty haven't been extracted
from the .dtx file, you'll need to do:

0. Run `latex sagetexpackage.ins'

If a PDF file of the documentation wasn't included with this
distribution of SageTeX, you will need to build the documentation
yourself. To do that:

1. Run `latex sagetexpackage.dtx'
2. Run `sage sagetexpackage.sage'
3. Run the indexing commands that the .ins file told you about.
4. Run `latex sagetexpackage.dtx' again.

You can skip step 3 if you don't care about the index. You will need the
pgf and tikz packages installed to typeset the figures.

The file example.tex has, as you likely guessed, a bunch of examples
showing you how this package works. You can compile it using a another
latex-sage-latex cycle as in steps 1-2-4 above. Note that example.tex
includes some PNG graphics which latex cannot use; to see those, use
pdflatex instead of regular latex or enable the imagemagick option. (See
the documentation.)

To use the SageTeX package with your own documents, see the
"Installation" section of the documentation.

SageTeX now includes `remote-sagetex.py', a plain Python script that
allows you to use a remote Sage server instead of a local Sage
installation, so now you can use SageTeX on any computer with TeX and
Python 2.6 installed.

This work builds on a lot of work by others; see the "Credits" section
of the documentation for credits. The source code may be modified and
distributed under the terms of the GPL, v2 or later; the documentation
may be modified and distributed under a Creative Commons Attribution -
Noncommercial - Share Alike 3.0 License. See the "Copying and licenses"
section of the documentation.

Please let me know if you find any bugs or have any ideas for
improvement!

- Dan Drake

sage-mode - http://wiki.sagemath.org/sage-mode

Description

sage-mode provides Emacs Lisp that helps you use Sage in GNU Emacs.

Warning! This is alpha code. This might fail horribly and is not (yet) easily customizable!

Pre-built Binary Install and Compile from Source Install — Sage Installation Guide v4.7.1

Pre-built Binary Install — Sage Installation Guide v4.7.1 - http://www.sagemath.org/doc/installation/binary.html

In order to install a binary (a pre-compiled version) of Sage:

1) Go here -> Download for Linux - http://www.sagemath.org/download-linux.html

and choose a mirror.


2) Choose you system bit type then system appropriate file -> my case was 64-bit and I chose the smaller file to download

sage-4.7.1-linux-64bit-ubuntu_10.04.1_lts-x86_64-Linux.tar.lzma


*.lzma compressed binaries can be extracted via
tar --lzma -xvf sage-*...tar.lzma
They save you about 150MB to download.




3) Then extract package and move to desired folder location. For additional path naming etc. information see -> Pre-built Binary Install - http://www.sagemath.org/doc/installation/binary.html

I, for example, simply extracted it into the folder it was downloaded to -> home/Downloads then moved it to home.



4) Then simply execute the Sage command by typing:

./sage

in the directory. If you don't and try to double click on it like the big dummy I am then it won't run and you might get confused and try to run make (like I did) which is not necessary, but you can do it :). Sage will then open in a browser, but on your local machine. Sage is heavy on being online based (works in a web browser) so that is why it opens in a browser.



Also see link:

Quick Download and Installation Guide - http://wiki.sagemath.org/DownloadAndInstallationGuide



If you choose to compile yourself,

1) then download the source file from the mirror of your choice:


2) You may have to do extra steps (see below), but then run the command "make" without quotations (simply type make) in a terminal command line IN the directory where the "sage" file is located.


Source Code - http://www.sagemath.org/download-source.html

Information

Thank you for your interest in Sage! You can get the complete source for Sage to compile it on your own Linux or Mac OS X system. Sage lives in an isolated directory and does not interfere with your surrounding system. It ships together with everything necessary to develop Sage, the source code, all its dependencies and the complete changelog.

Short instructions:

Extract archive

Start compiling:
make

Run Sage: .
/sage

Upgrade to newer version later:
./sage -upgrade

Please read the README.txt and the installation guide for more details. Note: On Linux systems like Debian/Ubuntu, you may have to install the build essential package, the m4 macro processor, and gfortran:

sudo apt-get install build-essential
sudo apt-get install m4
sudo apt-get install gfortran

You might also consider installing the readline package and its corresponding development headers. These packages make it easier to work with the Sage command line interface by providing text editing features at the command line level:

sudo apt-get install readline-common
sudo apt-get install libreadline-dev

There is a very high level changelog.

You can browse all the tracked source code repositories and see exactly what's going on, and who did what when.

RKWard - another GUI for R

RKWard - http://rkward.sourceforge.net/

One of the main differences between R Commander and RkWard is that RKWard is KDE based and developed.

RKWard aims to become an easy to use, transparent frontend to R, a powerful system for statistical computation and graphics. Besides a convenient GUI for the most important statistical functions, future versions will also provide seamless integration with an office-suite.


http://sourceforge.net/projects/rkward/

KDE Science: Thomas Friedrichsmeier on RKWard, Toolkits and the KDE Platform - 2010 13 Sep - By: Luca Beltrame - http://dot.kde.org/2010/09/13/kde-science-thomas-friedrichsmeier-rkward-toolkits-and-kde-platform

A review of a bunch of R GUIs:

R GUIs · 06/05/2010 - http://www.nettakeaway.com/tp/R/137/r-guis

Upgrading to/Installation of Kile 2.1

Ubuntu does not update Kile from 2.1 beta 4 to the latest 2.1 release. In order to update you can do two things.

1) Compile your own like I did with wxMaxima

How to compile Kile for Linux/BSD - http://kile.sourceforge.net/help.php#compile

2) Or find someone that has already compiled a deb package install like I should have looked for one for wxMaxima. (I have found the PPA for wxMaxima here -> Maxima and wxMaxima by István Blahota - https://launchpad.net/~blahota/+archive/wxmaxima as ppa:blahota/wxmaxima and have added it to my original wxMaxima post too.)

In this forum topic, I found a PPA (Personal Package Archive) which once added to the repositories and updated will then install once you run the update manager.

[SOLVED] Kile upgrade - Ubuntu Forums - http://ubuntuforums.org/showthread.php?t=1773808

See here for PPA explanation. I've used it several times without knowing what it was or did. Now I think I understand a little bit better.

How do I use software from a PPA? - https://launchpad.net/+help/soyuz/ppa-sources-list.html

To start installing and using software from a Personal Package Archive, you first need to tell Ubuntu where to find the PPA.

Important: The contents of Personal Package Archives are not checked or monitored. You install software from them at your own risk.

Adding the PPA to Ubuntu 9.10 (Karmic) and later

If you're using the most recent version of Ubuntu (or any version from Ubuntu 9.10 onwards), you can add a PPA to your system with a single line in your terminal.

Step 1: On the PPA's overview page, look for the heading that reads Adding this PPA to your system. Make a note of the PPA's location, which looks like:

ppa:gwibber-daily/ppa

Step 2: Open a terminal and enter:

sudo add-apt-repository ppa:user/ppa-name

Replace ppa:user/ppa-name with the PPA's location that you noted above.

Your system will now fetch the PPA's key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built.

Step 3: Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added:

sudo apt-get update

Now you're ready to start installing software from the PPA!


So in this case do:

sudo add-apt-repository ppa:kile/stable

sudo apt-get update

(launchpad.net link -> Kile - kile stable - https://launchpad.net/~kile/+archive/stable)

Then run the update manager either from the apps (GUI tool - Ubuntu Update Manager) or the terminal in the command line (I don't know the terminal command).

Ah, found it here -> How do I update Ubuntu Linux softwares? - http://www.cyberciti.biz/faq/how-do-i-update-ubuntu-linux-softwares/

sudo apt-get upgrade


From the site:

=> apt-get update : Update is used to resynchronize the package index files from their sources via Internet.

=> apt-get upgrade : Upgrade is used to install the newest versions of all packages currently installed on the system

=> apt-get install package-name : install is followed by one or more packages desired for installation. If package is already installed it will try to update to latest version.

[xubuntu] Xubuntu vs XFCE sessions - Ubuntu Forums

[xubuntu] Xubuntu vs XFCE sessions - Ubuntu Forums

Edubuntu

Edubuntu

The Edubuntu Project

Edubuntu is a grassroots movement, we aim to get Ubuntu into schools, homes and communities and make it easy for users to install and maintain their systems.

We are students, teachers, parents and hackers who believe that learning and knowledge should be available to everyone who wants to improve themselves and the world around them.

Our Goals

Our aim is to put together a system that contains all the best free software available in education and make it easy to install and maintain.

An Ubuntu Project

The majority of the technical work that the Edubuntu team performs occurs within the Ubuntu project. All the packages we work on are available in the Ubuntu software repositories and the Edubuntu DVD is built from the exact same repositories as the Ubuntu discs and other official derivatives.



Unity DE


GNOME DE

Monday, August 22, 2011

Sage: Open Source Mathematics Software

Once I get the hang of Maxima I think I will give this a go again. This can call software such as Maxima, Octave, etc.

Sage: Open Source Mathematics Software


Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.
Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab

Link to introductory videos on Sage and Python from the Sage website:

Screencasts and Videos - http://sagemath.org/help-video.html

Link to help and documentation from the Sage site:

http://sagemath.org/help.html

Xmaxima

Xmaxima is a graphical interface for Maxima, written in Tcl/Tk. It also provides the openmath plotting program for Maxima, which can do some of the plots done by Maxima's default plotter (gnuplot) and a few more that gnuplot cannot do.

This manual was written for version 5.11.0 of Xmaxima. Some familiarity with Maxima 5.11.0 is assumed. There is a separate reference manual for Maxima, which can be browsed and studied from Xmaxima.

This is apparently installed by default when you install Maxima from the USC.

Xmaxima Manual: Top

ÜberStudent - Ubuntu version for Students and Researchers

Pretty interesting.

ÜberStudent - Ubuntu version for Students and Researchers | Ubuntu Geek

Features of ÜberStudent

System

# Pic 1 Built upon compatibility with the latest distribution of Ubuntu (version 9.10), the world’s dominant open source operating system. With ÜberStudent, you can be confident that you are computing from both strength and stability.

# Free to download, install, use and share. And when the next version comes out, it too will be free. You’ll no longer have to lay out painful cash every few years just to keep updated.

# Works “out-of-the-box” on nearly every manufacturer’s computer, both new and older, and tools and guides are right onboard to get your hardware going for the rare instances otherwise. Give ÜberStudent a test run from its Live DVD! When you’re ready to install, you can do it side-by-side with your current configured operating system and choose between them at boot time.

# Fully multimedia-ready in mere seconds. Just go to the Extras Menu in the Main Menu (“Start Button”), click the appropriate icons, and you’re all set.

# High-yield quick-help guides, example program usages, and templates for academic work by top educators and students (but approved by educators) are on-board in ÜberStudent, and their number is growing. You’ll save time and very quickly become productive by doing.

# ÜberStudent is blazingly fast, much faster than the operating system with which you are probably accustomed. It boots much faster, and programs both load and respond faster—no more clicking and constant waiting! And when you search for files, you’ll have results in an instant. You can even preview the contents of files by simply highlighting the file (clicking on it once) and hitting the space bar.

# An eye-popping user interface comes default on ÜberStudent, as expected of a next-generation operating system. With just a few clicks you can additionally enable a Mac-like dock, and on higher end computers you can easily install free proprietary drivers and enable amazing window animations that are at the utter pinnacle of the desktop computing world.

# Easily accesible power-user extras that won’t get in the way of those who aren’t looking for them. For example, just hit F12 to call up Guake Terminal, from which you’ll find the most commonly used command line programs are ready to go.

Core Programs

In addition to a full array of programs befitting a complete operating system, ÜberStudent comes with a customized selection of expertly configured core programs for students of all academic disciplines (some programs may change until the 1/15/10 release-date, last update to below list 1/13/09).

# Zotero configured to cite your sources into Open Office Writer, a full-featured word-processor similar to and compatible with Microsoft Word. Our customized Zotero turns the popular Firefox browser into a powerful, easy-to-use research tool that helps you gather, organize, cite, and analyze sources, and then share the results of your research online or through a network. Our Firefox browser itself comes with numerous customizations to immediately boost your academic productivity.

# Google Plus Search, our Firefox extension that unobtrusively adds links to additional searches, seeded with your Google search term(s). ÜberStudent can work with your learning institution to customize it to display search links to library catalog and subscription resources, e.g., EBSCO and JSTOR, so links to high quality academic resources display right within most students’ first stop for information, Google.

# NoteCase Notes Manager, a hierarchical note manager (outliner) that helps students and researchers take and organize notes into logically-arranged tree-like structures (each note can have sub-notes). Fire up your laptop and one of our NoteCase templates first thing when you arrive to class! See our on-board example usages—you’ll kick yourself for ever trying to get along with paper and pen; plus, when it comes time to write papers, you’ll find you already have them partly written! We recommend you take notes from articles for research papers within Zotero, however.

# AutoKey, a program in which you can easily key in an unlimited number of keyboard abbreviations to reduce the need to type out frequently written words or phrases. Just key an abbreviation for a word or phrase, and then every time you type the abbreviation it is instantly replaced by the word or phrase. AutoKey works literally everywhere you can type in ÜberStudent, but it is especially amazing coupled with NoteCase Notes Manager. You’ll have clearer class notes, and more of them, than ever before.

# Semantik, a mind-mapping tool to visually help students study and write texts such as dissertations, theses, research papers, essays, and even screenplays.
# Parley, a program to help you memorize any material on any subject. Create virtual flashcards from your class notes taken in NoteCase, or download pre-made sets and increase those available by uploading your own.

# Golden Dictionary, a full-featured multi-lingual dictionary, thesaurus, translator, and word-pronouncer that works with literally every program in ÜberStudent at just the touch of a key. Goodbye clunky dictionary.com!

# GNOME Do, inspired by Apple’s Quicksilver, enables you to quickly search for items on your computer or the web, and perform useful actions on those items.

# Gloobus Preview, like Apple’s Quicklook, enables you to quickly glance at the contents of your files and folders. Just highlight the file or folder, hit the space bar, and have a look!

# Top Shelf, a handy program to help you organize and track drafts of papers.

# Cloud Menu with the speed of Prism brings the ease of Cloud Computing to your desktop. Google Calendar and Google Docs sync through Google Gears for both on- and off-line use. Building your network with Facebook has never been simpler and faster, nor has Gmail. Remember The Milk! helps you keep organized and syncs with Google Calendar. And just in case, EyeOS, a full-featured opensource online operating system, is available with just a click.

# Mozilla Thunderbird with Lightning Calendar, which can automatically sync with Google Calendar, iCalendar and others.

# KMyMoney, to help ensure that your finances are kept in correct order.

# Mendeley, like iTunes for research papers, although we much more recommend Zotero.

# ÜberStudent’s Extras Menu provides easy access to additional drivers, software, and other extras.

Other Program Highlights

We realize it’s counterproductive to only study, and that you’ll want to keep contact with friends and family. That’s why we’ve included some of the very best play-ready games, everything you need to rip and burn CDs, programs to make your music sound amazing and handle nearly every video format ever invented, and well-chosen messaging programs. We’ve done this without uneccesary program redundancy.

Games

A full range of games, from 3D chess, to flash pinball, to card games, to a Space Invaders clone and the utterly hilarious Potato Guy and more, are onboard in ÜberStudent. In addition, you can let off stress with the fast-paced first-person 3D shooter game, Warsow, or try your hand in the World of Goo, an amazing Wii-like physics-based puzzle/construction game.

Messaging

Every major (and some minor) Instant Messaging service is ready-to-go within one program, Pidgen, in ÜberStudent. As well, Skype is on board for voice calls. In addition, we’ve include a microblogging client to help you keep current on Twitter, Jaiku, Identi.ca, Facebook, Flickr, Digg, and RSS. There’s even a super-simple IRC program, and one that hooks into your webcam to enable you to send personalized messages.

Multimedia

ÜberStudent comes with everything you need to download, rip, and burn media disks, and programs to handle nearly every audio and video format ever invented, including DVDs and all the formats you’ll encounter everyday on the Internet. Use eMusic Remote to tap over 7-million top songs and albums at half the price of iTunes, and play them in Audacious Music Player, where our expert plugin and equalizer settings (over thirty) will make them sound amazing!



http://www.uberstudent.org/

UberStudent (uber meaning "productive" in Latin) is a free, user-friendly Linux distribution for learning, doing, and teaching academic success at the higher education and advanced secondary levels. It is supported by a free Moodle-based virtual learning environment. Lifelong learners, researchers, and knowledge workers of all types will also benefit.

UberStudent fundamentally redefines what it means to be an operating system for education. At core, it is a pedagogically cohesive academic success curriculum integrated into an installable, easy-to-use, and full-featured learning platform.

UberStudent is developed by professional educators around a core academic skills approach. These are research and writing, study, and self-management skills, essentials to students regardless of their academic major. UberStudent can additionally be extended for specific academic disciplines using its on-board tools to finding and installing additional software. An additional learning outcome of using UberStudent is the achievement of not just computer literacy but computer fluency for lifelong success.

While foremost for academic computing, UberStudent is also decked out for multimedia, graphics, messaging, and even games, all with the needs of students in mind.

Not just for for end-users, UberStudent is the perfect Linux distribution for installation by learning institutions, and customized installations and commercial support or consulting are available.

We would be pleased to present UberStudent and its vision to increase student learning and support the mission of learning institutions to your campus or group. We may be reached at info@uberstudent.org.

Sunday, August 21, 2011

wxMaxima - University of Hawaii Calculus Notebooks

Some wxMaxima "notebooks" over various calculus topics and examples from the University of Hawaii.

wxMaxima

Calculus Demonstration Sessions

Updated July 5, 2011

Below are a collection of wxMaxima sessions which are saved with the file names *.wxm. By downloading these files and opening them in wxMaxima you can modify and experiment with them to learn how to use the program. In addition, for each session there is a PDF version which can viewed using the Adobe Reader.

Some of the programs use just basic operations and graphing while others are somewhat sophisticated. They use the more powerful drawing package and animation features. In either case, you need only right-click the wxm link and download the file to your computer. In IE this is the “Save target as ...” option on the right-click menu. By double clicking the downloaded fine you can view the inputs and outputs. Note that you will need to evaluate each expression in the files below by clicking the expression and then using Shift-Enter to evaluate it.

Some of the complicated animations will take a few seconds to load so be patient. Once the slides have been produced you click the graph window and use the slider on the top menu bar to view the animation.

- Basic calculations and algebra

- Basic lab graphing

- Parametric curves

- Polar plots

- Tangent lines

- Velocity vector

- Table & graphs

- Sine limit

- Discontinuous functions

- Functions & derivatives

- Sliding ladder

- Implicit functions

- Newton's method

- Max/min problem

- Riemann sums

- Area between curves

- Surface plotting and contour animation

- Direction fields and solving first order ODEs

Saturday, August 20, 2011

wxMaxima - Community Ubuntu Documentation - Installing the latest version by compiling and PPA

In order to install the latest wxMaxima (a Mathematica type software) by compiling the source code yourself follow these instructions (this is not necessary as you can use the PPA that I provide further below). The Ubuntu SC only installs 0.8.5 while the latest version as of this date is 11.8.0

wxMaxima - Community Ubuntu Documentation

Download the latest version here: http://sourceforge.net/projects/wxmaxima/files/

Uninstall the old version if you have one.

sudo apt-get remove maxima-doc wxmaxima


Then:

You will need the virtual package "build-essential" for making the package and the package "checkinstall" for building a debian package. So if you don't have it or are unsure,
sudo apt-get install build-essential checkinstall

Now its time to extract, configure, make and install your package:

tar xfvz /"locationof"/wxMaxima-"latest-version".tar.gz
sudo apt-get build-dep wxmaxima
cd /"locationof"/wxMaxima-"latest-version"/
./configure --enable-dnd --enable-printing --enable-unicode-glyphs --prefix=/usr --exec-prefix=/usr
make
sudo checkinstall


After
sudo apt-get build-dep wxmaxima
I extracted the .tar.gz file because the /"locationof"/wxMaxima-"latest-version"/ directory didn't exist until you do this. You may be able to do this (extract) earlier. Then follow the rest of the directions:

ay "yes" to create a document package and paste the description of Maxima off of the website pasted bellow:

wxMaxima is a cross platform GUI for the computer algebra system maxima based on wxWidgets.

When this is done type "0" then "ENTER" and enter your email address so that people know who you are if they use your package you@somewhere as an example

hit "ENTER" and hope for the best. Checkinstall attempts to build you a deb package which it automatically installs by default and is also included in the directory you made WxMaxima, i.e. the deb is in /"locationof"/WxMaxima-"latest-version"/. Thus if everything goes smoothly you now have the latest version of wxmaxima installed.

I have found the PPA for wxMaxima here -> Maxima and wxMaxima by István Blahota - https://launchpad.net/~blahota/+archive/wxmaxima as ppa:blahota/wxmaxima.

Thus to install via PPA:

sudo add-apt-repository ppa:blahota/wxmaxima

sudo apt-get update

Then install from USC (Ubuntu Software Center) or if an older version is already installed simply type into the terminal command line:

sudo apt-get upgrade

Links to Maxima and wxMaxima:


Maxima, a Computer Algebra System - http://maxima.sourceforge.net/

Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions.

The Maxima source code can be compiled on many systems, including Windows, Linux, and MacOS X. The source code for all systems and precompiled binaries for Windows and Linux are available at the SourceForge file manager.

Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was revolutionary in its day, and many later systems, such as Maple and Mathematica, were inspired by it.

The Maxima branch of Macsyma was maintained by William Schelter from 1982 until he passed away in 2001. In 1998 he obtained permission to release the source code under the GNU General Public License (GPL). It was his efforts and skill which have made the survival of Maxima possible, and we are very grateful to him for volunteering his time and expert knowledge to keep the original DOE Macsyma code alive and well. Since his passing a group of users and developers has formed to bring Maxima to a wider audience.

We are constantly updating Maxima, to fix bugs and improve the code and the documentation. We welcome suggestions and contributions from the community of Maxima users. Most discussion is conducted on the Maxima mailing list.

Some screen shots from the Maxima site:

Xmaxima 5.18 running on Linux (with Tk 8.5) with the Embedded plot windows option:

Xmaxima running on Windows:

Maxima running in GNU Emacs:

Maxima 5.18 running in command line mode in Linux:

Maxima running in GNU TeXmacs:

Maxima running in GNU Emacs with Imaxima mode:

Maxima Documentation - http://maxima.sourceforge.net/documentation.html


wxMaxima - http://andrejv.github.com/wxmaxima/

About

wxMaxima is a document based interface for the computer algebra system Maxima. wxMaxima uses wxWidgets and runs natively on Windows, X11 and Mac OS X. wxMaxima provides menus and dialogs for many common maxima commands, autocompletion, inline plots and simple animations. wxMaxima is distributed under the GPL license.

Some screen shots from wxMaxima:

wxMaxima on Linux:



wxMaxima on Mac OS X:

Some interesting links from the Maxima website:

Related Projects

Stand-alone user interfaces for Maxima

Imaxima and imath

Developers: Jesper Harder, Yasuaki Honda.

“Imaxima.el provides support for interacting with the computer algebra system Maxima in an Emacs buffer. Imaxima processes the output from Maxima with TeX and inserts the resulting image in the buffer.”

→ http://sites.google.com/site/imaximaimath/
Kayali

Developer: Abdulhaq Lynch.

“Kayali is a Qt based Computer Algebra System (CAS) that can also be used as an advanced replacement for KDE KCalc. It is essentially a front end GUI for Maxima (and is easily extended to other CAS back-ends) and Gnuplot.”

→ http://kayali.sourceforge.net/
LyX

There is a way to send commands to Maxima from the LyX document processor. It's somewhat different from the TeXmacs functionality, but does seem to be functional at least on a basic level.

See an example document: http://maxima.sourceforge.net/lyx+maxima.lyx.

→ http://www.lyx.org/
Symaxx2

Developer: Markus Nentwig.

“Symaxx is a graphical front end for the Maxima computer algebra system (GPL).”

→ http://symaxx.sourceforge.net/
TeXmacs

Developer: Joris van der Hoeven.

“GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content (text, graphics, mathematics, interactive content, etc.).”

→ http://www.texmacs.org/
wxMaxima

Developers: Andrej Vodopivec et al

“wxMaxima is a cross platform GUI for the computer algebra system maxima based on wxWidgets. It provides menu and dialog based interface for maxima and a nice display of math output.”

→ http://wxmaxima.sourceforge.net/

Web interfaces running Maxima

Calc.Matthen.com

Online integrator, differentiator, graph plotter, etc.

→ http://calc.matthen.com/
Interactive Demos of Mathematical Computations

(Institute for Computational Mathematics at Kent State U)

→ http://icm.mcs.kent.edu/research/demo.html
Mathematical Assistant

Developers: Robert Marik, Miroslava Tihlarikova.

“This site contains interface to access computer algebra system Maxima and automatically solve selected typical problems from mathematical courses, including intermediate steps in the solution.”

Mathassistant project page at Sourceforge.

→ http://user.mendelu.cz/marik/maw/index.php?lang=en
Maxima-Online

Developer: Piotr Lewalski

“Maxima-Online is a web based front end to the oryginal Maxima command line program. It's task is to deliver an interface which is simple and easy to use.”

→ http://maxima-online.lewalski.pl/
MaximaPHP

Developer: Bowo Prasetyo

“A PHP program to access Maxima on the server interactively from a website.”

See also: Maxima show-case.

See also: MaximaPHP project page at SourceForge.

→ http://www.my-tool.com/mathematics/maximaphp/
WebMathematics Interactive

Developer: Zoltan Kovacs, U Szeged, Hungary.

WMI On-line demo
Documentation (including 3 short movies in English and 3 in Hungarian)
Old version
Details of development (obsolete)

→ http://wmi.math.u-szeged.hu/wmi/math.php

Systems using Maxima as a component in a larger scheme

Euler

Developer: Rene Grothmann.

“Euler is a MatLab like numerical system with a GUI frontend in notebook style ala Maple, plot features, and a numerical programming language. Euler can be used as a GUI frontend to Maxima. It can also exchange data and expressions with Maxima, helping Maxima with numerical calculations, and Euler with symbolic evaluation.”

→ http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/euler/
GeoGebraCAS

Developer: Markus Hohenwarter et al.

“GeoGebra is free and multi-platform dynamic mathematics software for all levels of education that joins geometry, algebra, tables, graphing, statistics and calculus in one easy-to-use package. GeoGebraCAS extends the Computer Algebra System (CAS) features of GeoGebra to allow students to work with fractions, equations, and formulas that include variables.”

→ http://www.geogebra.org/trac/wiki/GeoGebraCAS/Documentation
The LearningOnline Network with CAPA

Developer: Gerd Kortemeyer.

“Sharing and using online learning and assessment materials across institutions and disciplines.”

Computer Algebra System (notes about integration of Maxima with LON-CAPA).

→ http://www.lon-capa.org/
MathDrag'n

Developer: James Hart.

MathDrag'n project page at SourceForge.

“MathDrag'n is an interface designed to help you, the user, maintain almost complete control over the algebra while stopping you from making mistakes. In contrast to most computer algebra systems, MathDrag'n's philosophy is that the user interface is first, and that ease of use is what you want.”

→ http://mathdragn.squarespace.com/
Mediawiki Algebra extension

Developer: Markus Arndt.

defines a maxima session. Any line terminating with a semicolon is passed to maxima for evaluation. For all other lines the wiki syntax applies.”

→ http://meta.wikimedia.org/wiki/User:Mafs/Computer_algebra
SAGE

“Sage is a comprehensive open-source mathematics software suite that has the mission statement ‘Creating a viable free open source alternative to Magma, Maple, Mathematica, and Matlab.’”

SAGE web interface.

→ http://sagemath.org/
STACK

Developer: Chris Sangwin, U Birmingham, UK.

STACK SourceForge project page.

→ http://www.stack.bham.ac.uk/
WIMS

→ http://wims.unice.fr/wims/en_home.html

Third Party Code

There are some packages we cannot include in the official Maxima distribution due to legal restrictions or because they are not in a stable state yet.

If you know any old Macsyma code still available on the Internet or new Maxima packages that should be included in this list, please tell us about it so we can add a link or even add it to the official distribution, if its license is compatible with Maxima's.

A collection of user-contributed code
Misc code by Willy Hereman et. al.
A series of interesting Macsyma packages. Commercial use is not permitted without consent of the authors.
Pw.mac
The package pw.mac extends Maxima by enabling it to work with piecewise continuous functions.
Qinf (quantum information and entanglement package)
A quantum information package that allows the manipulation of instances of objects — operators, vectors, tensors, etc. — that appear in the theory of quantum information and quantum entanglement.
SymSAP
Symbolic matrix analysis of structures. SymSAP aims to become a powerful didactic tool to help students learn structural analysis.
rfMaxima
rfMaxima allows for symbolic derivation, as well as numerical evaluation (incl. Bode and Smith chart plotting), of 2-port network (ABCD, G, InverseABCD, H, S, Y, and Z), noise and stability parameters. Derivations are based on the solution of the set of Kirchoff current and voltage law equations representing the 2-port. Expressions can be exported to HTML or TeX. Figures can be exported to EPS or PNG.

Other Open Source Computer Algebra Systems


Axiom

“Axiom is a general purpose Computer Algebra system. It is useful for doing mathematics by computer and for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.”

There is also an interesting Rosetta Stone which offers translations of many basic operations for several computer algebra systems, including Maxima.

→ http://axiom-developer.org/
GAP

“GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory.”

→ http://turnbull.mcs.st-and.ac.uk/~gap/
Jasymca

“Jasymca is a symbolic calculator written for mobile phones and PDAs. It solves and manipulates equations, handles basic calculus problems, and provides a few more typical functions of computer algebra systems. The syntax is loosely related to GNU-Maxima.”

→ http://webuser.hs-furtwangen.de/~dersch
REDUCE

“REDUCE is an interactive system for general algebraic computations of interest to mathematicians, scientists and engineers.”

→ http://reduce-algebra.com
SINGULAR

“SINGULAR is a Computer Algebra System for polynomial computations with special emphasis on the needs of commutative algebra, algebraic geometry, and singularity theory.”

→ http://www.singular.uni-kl.de/
Yacas

“YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations.”

→ http://yacas.sourceforge.net/

Other Open Source Mathematical Software

Oberwolfach References on Mathematical Software: http://orms.mfo.de/
Free mathematical and computational software directory: http://cadadr.org/fm/

ARIBAS

“ARIBAS is an interactive interpreter for big integer arithmetic and multi-precision floating point arithmetic with a Pascal/Modula like syntax. It has several builtin functions for algorithmic number theory like gcd, Jacobi symbol, Rabin probabilistic prime test, factorization algorithms (Pollard rho, elliptic curve, continued fraction, quadratic sieve), etc.”

→ http://www.mathematik.uni-muenchen.de/~forster/sw/aribas.html
NumPy

“The fundamental package needed for scientific computing with Python is called NumPy. This package contains a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities.”

→ http://numpy.scipy.org/
Octave

“GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.”

→ http://www.gnu.org/software/octave/
PARI/GP

“PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.”

→ http://pari.math.u-bordeaux.fr/
R

“R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.”

→ http://www.r-project.org/

Information about Computer Algebra Systems


List of computer algebra systems (Wikipedia)

Lots of links there.

→ http://en.wikipedia.org/wiki/List_of_computer_algebra_systems
SymbolicNet

A very good starting point to learn about symbolic computation and computer algebra systems.

→ http://www.symbolicnet.org/