Kalamaris's homepage







Round Tables


Midi Files



Page created by
Antonio Larrosa

Last updated on
26 Jan 2001

Page created on
05 Jun 2000

KDE Now!

Index Features Download LatestNews Screenshots Default

Kalamaris's homepage

What is Kalamaris ?

Kalamaris is the next generation on scientific applications. While similar to Mathematica® in some aspects, it offers a new approach to solve mathematical problems in an easy and intuitive way.

Kalamaris's functionality also provide developers with a powerful library to manage complex mathematical operations.

It also has a distributed design, which will allow to separate the KDE graphical interface from the real working code. This will permit to have a Kalamaris server on a big server, while running the clients on your usual computer on your desk.

Tell me more about Kalamaris

I've been thinking on developing a Mathematica-like application for years, and when my teacher of Numerical Analysis told us that we had to implement some numerical methods to solve systems of differential equations, I thought that it was time to start such an application and do it "the right way"(tm).

I started working on it a few months ago, and version 0.5.6 is the result up to now.

Note that this release is not considered stable yet, and it may crash (in fact, I'm sure it will :) ) quite a lot. For example, there isn't yet any syntax checking code, so when you do something wrong (like having an unmatched number of parenthesis), it crashes.

It may be worth to mention that each time you enter an expression, Kalamaris stores the complete history on the file .#kalamaris.lastcmds, so if it crashes, you just have to copy this file with another name and edit it to use a correct syntax.
Note that syntax checking is one of the highest priority things on my TODO list.

I'd like to see Kalamaris' features

  • Kalamaris allows the user to define functions and evaluate them:


  • It also work with matrices, and multiple variable functions:

    f(x,y,z)=[ 1 , 2 , 3x ; 5*Sin(6y) , z+x , 2z ]

  • It has symbolic and numeric evaluation:



    [ 1 , 2 , 6 ; 5*Sin(6a) , 3b+2 , 2*3b ]

  • It plots data on a 2D view using qtai and animates the data (using an extension to qtai) in a similar way. So you can enter :


    and then Kalamaris opens a window like this:

    2D Plot screenshot

  • Solves systems of differential equations using the following methods:

    Adams-Bashforth (with two different optional implementations)
    Runge-Kutta 3/8
    Fehlberg 5/6
    Fehlberg 7/8

    I'd like to mention that I've had help in implementing all these methods. Thanks go to Benjamín Olea Andrades and María Franco Barrionuevo for their detailed descriptions of the methods and their search of some example models to test the numerical methods. I don't know if they'll continue helping with Kalamaris after it has been finished for the class, but I hope so.

  • Kalamaris also does symbolic derivations :

    D(Sin(x),x) -> Cos(x)
    D(Sin(2x)*Tan(x^3),x) -> Cos(2x)*2*Tan(x^3)+Sin(2x)*1/Cos(x)^2*3x^2
    D(f(x,y),x) -> [ 0, 3, 4y^3 ]
    D(f(x,y),y) -> [ 0, 0, 4y^3 ]
    D(f(2a,b),a) -> [ 0, 6, 24y^3 ]

  • Kalamaris also allows to visualize sets of 3D data using a beta version of a new library I'm developing to develop easy to implement 3D OpenGL applications in KDE.

    The result of the test test.3d.2 (included in the sources) is something like this:

    3D Animation screenshot

    Note that you can move the observer using your mouse, and it uses the parallel transport of the orientation with which you're looking to keep it good looking

  • Kalamaris generates runtime html files with help for each function and variable (even user defined ones !). This allows Kalamaris to have automatically a web-based interface which is quite easy to use.
  • You can use python, perl, or any other scripting language (even your shell !) to script your calculations and control Kalamaris using an external application.
  • It uses KDoc to document the sources, so it has an html internal documentation.

I want to see a screenshot !

Ok, here you are :

Another screenshot
Click here to see more screenshots.

Where can I download Kalamaris current version from ?

You can download Kalamaris by clicking on the following link :

Kalamaris-0.6.0.tar.bz2 (296 Kb.)

How do I install Kalamaris ?

You'll need a current KDE 2.0 snapshot from KDE's CVS or the Kleopatra (1.91) release which will be available in the next days. You'll also need :
  • Mesa
  • The OpenGL extension of Qt-2.1.x
  • libgmp library for arbitrary precision numbers

Once you have it all installed, run ./configure ; make ; make install on Kalamaris sources.

Are there any known bugs ?

Lots of them ! Some of the most importants include:

  • It crashes when doing something wrong. It doesn't currently show any error, but just crashes. This is caused because it lacks a syntax verifier and will be fixed in the summer.
  • It lacks quite a lot of help. Feel free to read the examples to learn how to use functions that lack help.
  • Some other problems that I'm too tired to enumerate right now :-)

What's on the TODO list ?

Kalamaris already has many features, but it also lacks some things, that I want to implement in the (near) future :

  • Verificate the syntax, so it doesn't crash.
  • Simplifications of complex expressions (it already simplify simple expressions)
  • Allow to specify the field in which we are working.
  • Non-conmutative algebraic operations
  • Implement other numerical methods (i.e. to find zeros !)

Anyway, all this will have to wait, at least until July, as I'm starting exams on next week.

How can I help with Kalamaris development ?

You want to collaborate ? Good. Just write me and tell me your abilities as developer or artist (yes, I also need someone to draw the icons ).
Btw, I also accept donations to continue Kalamaris development :-) (perhaps even to implement any feature that I wouldn't add by myself)

What are Kalamaris terms of use ?

Kalamaris is distributed under the GNU General Public License Version 2.

KDE Troll Tech OpenGL

Latest News

05 Jun 2000
- First public release of Kalamaris (0.6.0)