Math.NET for algebra simplification and solving?

Jul 17, 2011 at 4:22 PM

Hello all,

I'm making a calculator and am thinking about using Math.NET as an engine (I would be happy to pay a percentage of profits to the author, though I would probably want my own code to remain closed-source for now).

Ideally, I'd use code like: String s = MathLib.Simplify("5x*(500/x^2*(sqrt(3)/4)+1)+2x^2+(sqrt(3)/2)*x^2");

And 's' would simplify down to: "1082.532/x+5*x+2.866*x^2"

(3dp worth there).

 I also would potentially use custom functions like "hello(x,y)" in the input. Math.NET hopefully would ignore these.

Solving for a particular variable would be nice too. I need something lightweight (my final exe will be under say 200k), and fast too (calculations such as the above would preferably be under 5ms or so including the initial calculation latency).

Can Math.NET support all this, and if so which part of Math.NET would I use? (I'm guessing LinqAlegebra or Classic might be able to, but the former uses Linq which could complicate things, and the latter uses GPL which I think may force me to open source my code (I'm still not sure about that one after all these years!)

Are there any alternatives to Math.NET which I could look into?