INFORMATION

What is a computer algebra system?

A computer algebra system, of which Yacas is one, is a program that can manipulate mathematical expressions, potentially reducing the time it takes to do a cumbersome but trivial calculation. It does this symbolically, so a CAS can return a mathematical expression as a resulting answer.

Status

The language is very much in a finished state. Any code written for it should be usable in future versions. Also, the language should prove very easy to learn.

Yacas is written in very clean c++ code, and is very portable . It can compile stand-alone, and is easily embeddable. Yacas contains a native arbitrary precision arithmetic module, but can also be used with GMP.

Things implemented include: arbitrary precision, rational numeric, vector, complex, and matrix computations (including inverses and determinants and solving matrix equations), derivatives, solving, Taylor series, numerical solving (Newtons method), and a lot more non-mathematical algorithms. The language natively supports variables and user-defined functions. There is basic support for univariate polynomials, integrating functions and tensor calculations.

Backups are put on the net on a regular basis. The very latest versions can be found here. They are generally stable versions.

The to do list can be found here.

Your feedback is much appreciated: please email yacas-devel AT lists DOT sourceforge DOT net (email obfuscated for obvious reasons).

Mailing list

There is a main mailing list for yacas at yahoogroups.com. This is a relatively low-bandwidth mailing list.

A developer list is also available. This is where discussions take place relating to possible improvements for Yacas.

Information

  • Download yacas-latest.tar.gz the complete source code distribution.
  • The distribution can also be found at Source Forge. The Windows distribution can also be found here.
  • Dan McMahill made a NetBSD distribution for Yacas.
  • View documentation on-line This documentation is included with the source code distribution.
  • View licence on-line This license is included with the source code distribution.
  • A selection of calculations from the Wester benchmark.
  • Some additional example calculations that Yacas can currently perform can be found here.
  • mailing list a mailing list for Yacas.
  • EiC. The readline.c file was used for the Linux console application.
  • Superficie a 3d graph plotter using OpenGL that looks quite promising! Superficie sports some Yacas scripts to render parametric surface plots.
  • texmacs a nice looking mathematical document editor which supports yacas sessions.
  • minilzo A lovely little and fast compression library that Yacas uses internally, for storing scripts in an archive.

Credits

  • This project was started by Ayal Pinkus.
  • John Lapeyre made some modifications to the make file, and improved some math code.
  • Juan Pablo reported many bugs, made many suggestions for improvements, and supplied improved code (yacas scripts and makefile code).
  • Doreen Pinkus designed this home page.
  • Igor Khavkine added 'Diverge' and 'Curl', and implemented threading for the derivative operator (the gradient). Fixed GMP code.
  • Win32 port thanks to James Gilbertson. Also improved error reporting. Added initial version of Karatsuba multiplication, and added some matrix functions to the math library.
  • Daniel Richard G. added autoconf/automake scripts, made Sun/Sgi compilation possible, created a rpm spec file, many many many changes to clean up the source distribution.
  • Ladislav Zejda supplied patches to make Yacas work on Dec Alpha's.
  • Fred Bacon fixed some compiler errors on the newer gcc compiles. Reported some important bugs.
  • Schneelocke reported an important bug in numeric calculations.
  • Serge Winitzki added factorials over rationals, TeXForm, did a major overhaul of the introduction manual (actually, he wrote large part of the manual as it is), and initiated numerous improvements and test code for Yacas, and implemented yacas_client. Actually, Serge has been one of the larger contributors, and the main force behind the improved documentation.
  • Jay Belanger reported some bugs, and improved some of the GnuPlot code. He also wrote the yacas.el file, which allows you to run yacas from within emacs. His most recent version can be found here
  • Gopal Narayanan maintains the Debian package for Yacas.
  • Vladimir Livshits set up the initial sourceforge CVS repository, and updated the Windows version source code. He also greatly improved the logic theorem prover code.
  • Eugenia Loli Helped build the BeOS version of Yacas. It can be found here
  • Saverio Prinz built a fantastic Mac version of Yacas. It can be found here
  • John Fremlin Added some code for fast calculation of roots of a cubic polynomial.
  • Mark Arrasmith Helped greatly in setting up the fltk-based graphicaluser interface, and fixed some bugs relating to limits regarding infinity.
  • Robert V Schipper Ironed out a few bugs in Yacas.
  • Gopal Narayanan Debian package maintainer. Made a man page for Yacas.
  • Christian Obrecht Made a much better Limit, and made Yacas behave better at infinity.
  • Jitse Niesen Reported some bugs, helped improve various parts of Yacas, and greatly improved the manual for Yacas.
  • Pablo Di Napoli Fixed the configure script so Yacas compiles under cygwin.
  • Joris van der Hoeven Helped with texmacs support.
  • Alberto González Palomo Implemented a console-mode version of Yacas for AgendaVR. Changed the directory structure for the script files, and implemented initial support for OpenMath.
  • Jonathan Leto Helped improve the integration algorithm, and helped extend the tests used for Yacas (finding numerous bugs).
  • Andrei Zorine Started the body of statistics code.


  started by Ayal Pinkus, © 1999