Slashdot Mirror


Open Source Math Software For Education?

Rui Carmo writes "Now here's something you don't get asked every day, but which a friend happens to need for her kids: If you had to suggest Open-Source software for mathematics - somewhere from high-school to freshman level, and not merely for 'pure' mathematics, but also applicable to physics and statistics (the kids are considering going into Applied Maths and Engineering), what would you point people toward, assuming they have access to both Linux and Windows? I know this is a niche thing and that there is nothing out there that even comes close to Wolfram's excellent Mathematica (which I used on my old NeXTCube), but surely something along the lines of (or simpler than) Calculation Center exists?" The Knoppix-based Quantian might be a good place to start; what math software do you recommend?

31 of 605 comments (clear)

  1. Octave? by mvdw · · Score: 5, Informative

    What about octave (free Matlab clone)?

    1. Re:Octave? by hotchai · · Score: 5, Informative

      Octave is a really nice piece of software! Also check out Scilab.

    2. Re:Octave? by Anonymous Coward · · Score: 4, Informative

      Here's a link:

      http://www.octave.org/

      I've used Matlab extensively and can tell you that Octave and Matlab aren't perfectly compatible. However, a student who learns Octave can switch to Matlab without any effort whatsoever.

    3. Re:Octave? by Anonymous Coward · · Score: 2, Informative

      If you go with octave you might want to check out octaviz (http://sourceforge.net/projects/octaviz/) too. It is a 3D visualization system for octave that will let you do in octave everything that VTK (www.vtk.org) can do.

    4. Re:Octave? by Anonymous Coward · · Score: 5, Informative
      Oh, geez, does no one understand the difference between a symbolic mathematics package (like Mathematica, Maple, or Calculation Center) and a numerical mathematics package (like Octave and Matlab)?

      The guy's looking for a symbolic mathematics package. Why don't you recommend Excel for him why you're at it? Heavens.

    5. Re:Octave? by Anonymous Coward · · Score: 3, Informative

      Because Octave is actually Matlab compatible, and there are thousands of lines of Matlab code out there? Also, Octave has been around for some time. I discovered it in 1996 and has been using it ever since.

    6. Re:Octave? by Anonymous Coward · · Score: 1, Informative

      How about Maxima? Formerly Macsyma (with its origins in the 60s!), open sourced a few years ago.

    7. Re:Octave? by le_jfs · · Score: 2, Informative
      because I don't like all the windows of Matlabs gui
      Try
      matlab -nodesktop

      --
      main(char O){O++&&(((O-291)*O+27788)*O-868020?1:putchar(O++) )&&main(O);}
  2. R (GNU S) by Neil+Blender · · Score: 5, Informative
    1. Re:R (GNU S) by Kludge · · Score: 2, Informative

      R is very good for statistical coding. A good number of professional statiticians code for the project and an even greater number actually use it, and it will run almost any S code written.

      I've used it since graduate school and in my two subsequent professional research jobs. Currently I use it for running statistical simulations in parallel across our 45 node cluster.

    2. Re:R (GNU S) by DarkSarin · · Score: 3, Informative

      Dangit, you beat me to it!

      I was going to suggest R.

      To the person who claims it is a poor choice for High Schoolers, I disagree, especially if statistics is of interest. It forces you to actually THINK about what you are doing with your models instead of being able to run, willy nilly, any old analysis on any old data (vis-a-vis SPSS).

      It is also good because it is VERY robust in its data import capabilities (excel, spss, etc), and is very strong at doing correct analyses.

      There are some caveats:
      Need to program
      Need to be willing to really learn
      Poor documentation
      Memory intensive for large datasets.

      This last item needs some explanation: R, unlike other statistical packages, loads the entire data set into memory, and performs all analyses there, instead of accessing the disk more frequently. This results in large datasets taking some serious memory, especially once you start working on complex analyses. If you plan to be using 5,000+ observations (which isn't all that uncommon in some fields), you should plan on having a fairly beefy computer.

      The upside is that it can provide much more information than spss could ever hope for. Now, if someone would just finish the plugin for kalc or gnumeric that would allow direct access, that would be awesome.

      (For R afficianados who aren't aware, check out ESS-Emacs Speaks Statistics--it's great for unix coders, but unnecessary for win32 stats folks).

      --
      "We don't know what we are doing, but we are doing it very carefully,..." Wherry, R.J. Personnel Psychology (1995)
  3. Maxima by Anonymous Coward · · Score: 3, Informative
    1. Re:Maxima by willy134 · · Score: 3, Informative

      I have played with Maxima a little bit. I think it is a decent peice of software. It started out as a government research app that was later open sourced. Unfortunately development is slow (if even existent) but on windows it did a fairly good/fast job of calculating funny integrals. They plotting features are decent also.

      It is much closer to mathematica than matlab. I don't know how it compares to mathcad.

      Hey it is free so at least give it a try.

      --
      Can you ping me now?... Good!
    2. Re:Maxima by YGingras · · Score: 2, Informative

      I'd like to add that Maxima support formated output when run inside GNU TeXmacs. You get top quality homeworks with really little effort.

    3. Re:Maxima by RealAlaskan · · Score: 5, Informative
      I have played with Maxima a little bit. I think it is a decent peice of software. It started out as a government research app that was later open sourced. Unfortunately development is slow (if even existent)...

      It is being actively developed. While William Schelter was maintaining it (for 19 lonely years), development was very slow indeed. I gather that most of the work was done by him, and some of his graduate students. Since his death in 2001, a number of other people have come on board, and there is a lot of catching up to do.

      Some documentation has been rewritten, a great many bugs have been squashed, the package has been ported to several Lisps (yes, it does matter to users), there has been at least one new Emacs mode written for it, it can be used with Texmacs, and so on. Some of the people who are working on it are big names in their spheres, like Richard Fateman, who worked on the original Macsyma.

      Version 5.9.1 was released in September '04, and the next big step will be the GREAT SOURCE DOWNCASING. Maxima is so old that most of it is written in all caps. There is a lot to do to bring it into the 21st century, and most of what's being done right now is behind-the-scenes stuff.

      As you say, it's decent software now. It's fully usable, with a useful GUI for Windows (developed on Schelter's watch, as I recall). It is probably better for memory intensive work than Maple or Mathematica; that's what initially got me started using it.

  4. GraphCalc is good by theteenager · · Score: 5, Informative

    GraphCalc is a good graphing program. It might not do everything in math, but it graphs pretty nicely.

  5. Maxima by BicycloHexane · · Score: 1, Informative

    Check out Maxima, my Calculus 2 teacher tries to give it a plug in class about every week. Its actually very powerful. http://maxima.sourceforge.net/ http://www.ma.utexas.edu/maxima.html

  6. python by viva_fourier · · Score: 2, Informative

    As an avid Matlab user, octave would be a good realm for lower dimensional mathematics. But, there's a nice foundation being set for python as an interpretive math environment. For the matlab lackies, matplotlib provides Matlab-like plotting support. For windows, grab the enthought compilation -- for linux, piecemeal together your environment starting with SciPy, MayaVi, and Matplotlib.

    --
    and now back to the fallout shelter...
  7. University of Arizona by asscroft · · Score: 2, Informative

    The UofA has some great titles, from rurfc1, the r u ready for calculus program, to slopes and other diffeq titles. All free, all good.

    The rur series is GOLD! I've installed in on all computer I own and made CDs just because its the kind of thing some new math dept head could take off the website and you'll never see it again.

    http://math.arizona.edu/~www_main_2002/software/ ua sft.html

    --
    because I have been enjoined by this Holy Office to abandon the false opinion which maintains that the Sun is the centre
  8. Re:Math Software? by upsidedown_duck · · Score: 2, Informative

    LOL, what kind of math did you take in High School? I was taking A.P. classes in High School.

    So was I. I even got a 5 on the AP test (like it ever mattered). Mathcad was a drag. Mathematica would have been hell. We spent so much time dicking around with the computers, we could probably have covered half a chapter in that time! Computers add so much complexity that they are really only a benefit for very large problems, like CFD over an airplane wing. High school students really don't need a computer, unless the class is specifically for programming, which is not math (don't confuse programming with Comp Sci, please).

    --
    -- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
  9. From the front lines. by kevinrbing · · Score: 2, Informative

    I'm a high school senior and I would love to have software like this.

    There are times in my high school calculus course where I would love to be able to see practical applications of the things I learn in class. Or get extra help on a difficult concept I didn't quite understand in class.

    I've tried to use recouces like wikipedia, open course ware (though MIT is a bit out of my leauge), and Sparknotes; but, its hard to learn a concept without a good explanation and instruction.

    In conclusion, software that could achually teach or at least tutor math would be a godsend to me and thousands of other confused math students.

    P.S. Please don't complain to me about getting better math teachers - thats an issue you'd have to take up with the union. Also, bad students isn't always their fault.

  10. COW URL by Anonymous Coward · · Score: 1, Informative

    I didn't get that auto-URL thing right, here it is: http://cow.math.temple.edu/

  11. Quantian article by Ed+Pegg · · Score: 5, Informative
    I own the quantian.org domain. The following is from my article on the Quantian Distribution. Here is a brief run down of links, programs, and other goodies in Quantian.
  12. Maxima, Octave, R, Sclilab and Gnuplot by 183771 · · Score: 2, Informative

    Maybe one of these could be interesting for you:

    Maxima 5.9.0
    Maxima is a fairly complete computer algebra system with an emphasis on symbolic computation.

    Octave 2.1.42
    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. It may also be used as a batch-oriented language.

    R 1.8.0
    R is `GNU S' - A language and environment for statistical computing and graphics. R is similar to the award-winning S system, which was developed at Bell Laboratories by John Chambers et al. It provides a wide variety of statistical and graphical techniques (linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, ...).

    Scilab 2.6
    Scilab is a scientific software package for numerical computations in a user-friendly environment.

    Gnuplot 3.7.x
    gnuplot is a command-driven interactive function plotting program. It can be used to plot functions and data points in both two- and three-dimensional plots in many different formats, and will accommodate many of the needs of today's scientists for graphic data representation.

    Source: http://gnuwin.epfl.ch/classes/en/sciences.html

  13. Too much IP for open source by Anonymous Coward · · Score: 1, Informative

    Disclaimer: I work for maple, as a developer but not in R&D. I speak from my knowledge of this company but I'm sure the others have similar situations.

    The problem with OSS for something like a mathematics package (especially a package with symbolics) is they contain IP obtained with research partnerships with institutions. You won't find a OSS solution that competes with any of the big 3 (Maple, Matlab and Mathematica) because the the algorithms for symbolics and so forth are just too complex and important as IP to the companies.

    All 3 of the packages I believe/know have much reduced student pricing ($100 USD for a downloadable on Mac, Linux or Win) and many of the schools in North America either have a partnership or you can obtain the software directly from your department. Also many of the calculus texts include 4 or 8 month trial versions.

    I know this doesn't help much and it is unfortunate that you can't obtain OSS alternatives for software that has a educational purpose, but on the otherside with out the 1000's of freshman in Calc101 I wouldn't have a salary.

  14. Re:For statisticians... by ClaytonianG · · Score: 2, Informative

    R is actually better than a lot of non open source out there. I actually prefer it over S, SPSS, and mini-tab(I haven't used any other major stats software).
    There is even a nifty web interface. Check out Rweb

  15. Re:For a high school freshman . . . by sketerpot · · Score: 2, Informative
    Word to that. When I was in school, we couldn't even use calculators. I could calculate the cube root of large numbers to several significant digits with paper and pencil.

    It can be done by someone who can do arithmetic---and knows how. I don't know how, but I know Newton's method of root solving, so I can come up with a way quickly.

    To find the cube root of c (which I'll call x), we need to solve x^3 - c = 0. We can do this by coming up with a guess t[0] and recursively saying that t[n+1] = t[n] - (x^3-c)/(3x^2).

    I might have learned this in school, but I would have forgotten it. I'd say I was better served by understanding of concepts than overemphasis on calculation.

  16. Symbolic maths toolbox? by buchanmilne · · Score: 2, Informative

    Oh, geez, does no one understand the difference between a symbolic mathematics package (like Mathematica, Maple, or Calculation Center) and a numerical mathematics package (like Octave and Matlab)?

    There might not be such a great difference in functionality between Mathematic/Maple and Matlab, if you have the symbolic math toolbox (although the UI is totally different ...).

    Of course, I don't think Octave has a symbolic math toolbox or equivalent at present ...

  17. Re:For statisticians... by transib · · Score: 2, Informative

    and for education purposes there is the Statistical Lab http://www.statistiklabor.de/ - a working and learning environment designed for elementary studies in statistics. statistical engine is R. freeware at the moment, open source later next year...

  18. Symbolic math - Maxima by gr8_phk · · Score: 2, Informative
    "The guy's looking for a symbolic mathematics package."

    Use Maxima. It does symbolic math very well. And if you're over in Linux, you can use Maxima as a plugin for TeXmacs for really pretty mathematical documents.

    I always site Octave and Maxima when people ask about math software. One for numeric and one for symbolic.

  19. Mod parent up - very informed comment, re: Axiom. by mapnjd · · Score: 2, Informative

    I wrote my PhD thesis using Axiom's source - Axiom has had c. 300 man-years work done on it. It is an unbelievable piece of work.

    (It started in the early 1970's at IBM and was called Scratchpad, later Scratchpad 2 before being "sold" to NAG and rebranded).

    Axiom 2 included a new compiler and a new language called Aldor (which was going to be called A# but apparently Sharp objected to the name. WTF about C# then?) and ran on other platforms than AIX 3.x. Solaris, Irix and in the end even Win32.

    Unlike the "M'n'M" systems (Maple, Mathematica, etc). it is strongly typed and has its roots in Category theory and/or Universal Algebra - which is pretty much a necessity for and Algebra system to even make any sense. (OK, that's a loaded point - obviously Maple is a very good product without this basis).

    Some things are currently missing from Axiom: Aldor - the re-implementation of Axiom's language by Pete Broadberry et al.; HyperTex - the online documentation browser with hyperlinks predating HTML! which are all loaded from the source files); and I believe the pretty GUI bits for graphs, 3D trefoil knots, etc.

    Debian and Ubuntu users can just download it, the rest of us have to build it. (It takes about 2 hours on my 1133MHz box).

    It is good. If you can grab a copy of Jenks and Sutor's manual then even better.

    --
    Bus error in your favour. Collect 200kB