Go to main page




User links --> 

MathStudio homepage - news, mailing list and statistics   

<-- User links 

What & Why    Features    Screenshots    License    Downloads    Links    Search   

Developer links --> 

How to join in    Documentation    CVS & sources downloads    Roadmap    License   

<-- Developer links 


What is MathStudio and why I created it

In this section I will try to answer to these two questions:

What is MathStudio ?
Why did you create it ?

For more info, or if you think something is missing/wrong, please contact me.


What is MathStudio ?

MathStudio is an open-source project conceived to make typing and resolution of mathematical expressions easier and more comfortable. The target of this program is not advanced\engineering calculus (maybe these features will be added in future, but, by now, they are missing).
There are other programs devoted to the same purpose, but very very few are free and even fewer are easy to use; many of these force the user to write input data using one row only (everything is typed at the same level, exponents and bases are on the same row) and a lot of brackets to make the operation order explicit. This math is really different from the math you can do on a piece of paper ! The aim of this project is exactly to reduce this gap providing both cross-platform open source c++ libraries (probably wrappers for other languages, python, basic, java, will be added in future) which can be easily embedded in other open source programs (these two libraries are MathCore and MathGUI and they can be downloaded using developer links) and a program, MathStudio which demonstrates their usage.

Example:

If I want to solve the following equation:

Example equation 1

in a lot of programs, I should type

((36*x^2+12*x+1) / (81*a^2) = SQRT(1296*x^4)

Typing expressions like the one in the example above, is much easier in MathStudio; you can see some screenshots which demonstrate this in the Screenshots page.

MathStudio not only allows the user to write expressions and equations in a simple way but it also allows to solve them with few, simple operations, generating a series of intermediate steps, obtained simplifying the initial expression:

Example equation

The image on the left is just an example costructed using a paint program (I hope to be able to replace it with some screenshots in the next month) but it should give you an idea of one of the key-feature of MathStudio: the intermediate steps...

Also notice that the styles which compose the output (the fonts, the colors) can be configured by the user. MathStudio, in fact, can be used not only to solve expressions, equations and inequalities but also to create “snapshots” of mathematical data to insert as bitmaps in the programs which do not support the input of such expressions (many word processor, for example).

MathStudio is a program aimed to be an easy and powerful symbolic calculator. It is different from other programs of this type both because of the way the user inputs the expression and because of its data processing system: flexible and highly customizable, able to show to the user the operations and the intermediate steps done toward the resolution.

 

This picture sums up the two basic features of the program: a WYSIWYG (What You See Is What You Get, i.e. a visual tool) equation editor and a powerful math engine.

 

For a detailed list of MathStudio features, please visit the Features page.


Why did you create it ?

My first answer is: I never found a program with the features of MathStudio and, in general, the open-source mathematics programs are very difficult to use; when I try to use Maxima, MatLab or Mathematica I always have to spend a lot of time trying to correct bugs and problems in the input data: to give you an indea these are some errors and their reasons...

Command Solve(3x+5=0, x); on Maxima:

Incorrect syntax: x is not an infix operator
Solve(3x+
^
(C3) Incorrect syntax: Too many )'s
5=0, x)
^
(C3) Incorrect syntax: Premature termination of input at ;.
;

This error is generated because I missed the '*' operator between the '3' and the 'x' 

Command Solve[12*x = 0, x]; on Mathematica:

Set:: write : "Tag Times in 12 x is Protected."
Solve:: eqf : "0 is not a well-formed equation."

I did not manage to understand the trigger of this error before the demo of the program expired... 

I can continue reporting errors such these for other 3-4 pages... but I don't want to annoy you. I imagine that these problems are very easy to solve for experienced users of Maxima and Mathematica, but I want a program where the user can intuitively input any expression and solve without such problems...

In the end, the main reason is that I want an easy program to do math... a program where if I want to solve an equation, I do not have to learn the syntax of program-specific commands and to spend hours trying to understand what I missed when I get incomprehensible errors.

The second answer is: price. Professional programs cost something like 1800$. MathStudio is free. I think that, for non-professional uses, MathStudio is really competitive !!!

Last answer: I like mathematics and that's why I chose to code in my free time such a program :-)



Page last modified on Monday, 14-Feb-2005 20:16:58 UTC
Visit MathStudio project page for more info

Valid HTML 4.01!

[ Top ]