Skip to content

Getting Started

Marcus Ackre Medina edited this page Sep 13, 2026 · 3 revisions

Getting Started

Install

dotnet add package MarcusMedina.Maths.Algebra

Requires .NET 10+

Build expressions

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);

Evaluate

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);

Parse from string

using MarcusMedina.Maths.Algebra.Parsers;

var expr = AlgebraParser.Parse("3*x^2 + sin(x) - 1");
Console.WriteLine(expr.Evaluate("x", Math.PI));

Evaluate over a range

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

LaTeX export

var expr = Algebra.X.Add(1).Power(2);
Console.WriteLine(expr.ToLaTeX());  // (x + 1)^{2}

Other variables

Algebra.X, Algebra.Y and Algebra.Z are the built-in shorthand variables. For anything else, use Algebra.Var(name):

var theta = Algebra.Var("theta");
var expr  = theta.Sin();  // sin(theta) — see the API Overview for math-function extensions

Clone this wiki locally