Kayali | ||||||||||||||||||||||||||
|
OverviewKayali 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. InstallationThere is no real installation required. Simply untar the source tar.gz into a new directory. To run Kayali, type "python kayali.py" from the installation directory. Please note, however, the other required software packages. Of these, only Maxima and PyQt are mandatory. The others are only used for creating plots. If you are running linux then you probably have most of these already installed. DownloadDownload from the sourceforge download page: Download KayaliAlgebra
Kayali supports all the algebraic operations of Maxima, however the graphical representation is not complete, though is being rapidly expanded. Please let me know what areas you would like to see finished first. Calculus
Kayali supports all the calculus operations of Maxima but again, I have only (so far) provided graphical support for a limited number of operations. Try these for example: Plots
Kayali currently uses Gnuplot for graphing. It also is using the Maxima interface to Gnuplot rather than addressing Gnuplot directly. This has both advantages and disadvantages. Screenshots of KayaliA screenshot of Kayali performing algebra
(See This Full Size) A screenshot of Kayali performing calculus
(See This Full Size) A screenshot of Kayali performing plots
(See This Full Size) A screenshot of Kayali showing thumbs of plots in its history table
(See This Full Size) RequiresPythonKayali has been written in Python. Nearly all linux installations already have python installed. MaximaMaxima 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: PyQt4PyQt4 is the interface between Python, which Kayali is written in, and Qt4. Qt4 is a great development toolkit developed by Trolltech in Norway. GnuPlot(Only required for plotting) GnuPlot is a plotting utility under the GNU umbrella. The 3D plots require v4 or above. libgd(Only required for plotting) libgd is a gif manipulation library needed by gnuplot to produce png files. User DocumentationUntil 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. AcknowledgementsYappsYapps is a python-based parser which I have used for parsing the expressions. PexpectPexpect is a python-based implementation of Expect, which I am using to communicate with Maxima. |