Symbolic Algebraic Library written entirely in C#
github.com
github.com
in case of single variable for example var result = SymbolicVariable.Parse("sin(3*x)").Execute(2);
in case of multi variables you can send the values based on their alphabet order
var d = SymbolicVariable.Parse("a^b^c"); Assert.AreEqual("a^(b^c)", d.ToString());
var r = d.Execute(3, 2, 4); Assert.AreEqual(43046721.0, r);
or by assigning them to a dictionary of Dictionary<string, double>
vap p = SymbolicVariable.Parse("(sin(x)^3+cos(x)^5-x^3*y-3) | x");
should be
var p = ...
It uses a recursion limit, but I sketched out a design that eliminates the need for it by use of a specific data structure as used in the Simplify theorem prover to ensure termination in the presence of rewriting. Haven't gotten around to it unfortunately.
Does it feature equation solving, variable elimination, etc? See for example:
a use case would be helpful for me.
Copy and paste has a much lower chance to incur errors than rewriting an expression.
so we can convert the latex expression and send it to the library after that .. I guess it is doable if we are limiting ourself to the math expressions only.
Mentioned elsewhere: I built an (incomplete) implementation of the Risch algorithm for symbolic integration and slapped a MathML-parsing front end on it, and frequently ran into ambiguous cases where the ”abstract syntax” of the purported integral wasn’t what any sane human mathematician would think it could be, yet these errors were self-consistent (limits on double- and higher integrals being circumstances that constantly vexed me).
No, don’t suggest or try doing both of these things in the same place. Keep them separate. It’s just basic software architecture.
it is called Quantity System http://QuantitySystem.org
and it blends numerical and symbolic in the same context and it supports units in the context of quantities
check the specs and tell me your opinion.