dotnet add package MarcusMedina.Maths.Algebra
Requires .NET 10+
using MarcusMedina.Maths.Algebra.Builders; using MarcusMedina.Maths.Algebra.Extensions; // x^2 + 2x + 1 var expr = Algebra.X.Square() .Add(Algebra.X.Multiply(2)) .Add(1);
double result = expr.Evaluate("x", 3); // 9 + 6 + 1 = 16 // Multiple variables var vars = new Dictionary<string, double> { ["x"] = 3, ["y"] = 4 }; double r = expr.Evaluate(vars);
using MarcusMedina.Maths.Algebra.Parsers; var expr = AlgebraParser.Parse("3*x^2 + sin(x) - 1"); Console.WriteLine(expr.Evaluate("x", Math.PI));
using MarcusMedina.Maths.Algebra.Evaluators; var f = AlgebraParser.Parse("x^2"); IEnumerable<double> values = f.EvaluateRange(variable: "x", start: 0, end: 4, steps: 5); // 0, 1, 4, 9, 16
var expr = Algebra.X.Add(1).Power(2); Console.WriteLine(expr.ToLaTeX()); // (x + 1)^{2}
Algebra.X, Algebra.Y and Algebra.Z are the built-in shorthand variables. For anything else, use Algebra.Var(name):
Algebra.X
Algebra.Y
Algebra.Z
Algebra.Var(name)
var theta = Algebra.Var("theta"); var expr = theta.Sin(); // sin(theta) — see the API Overview for math-function extensions
There was an error while loading. Please reload this page.