Documentation

How are you using Nerdamer?

Nerdamer has three distinct interfaces. Choose the one you are working with to get the syntax, reference, examples, and guidance for that interface without mixing it with the others.

→

Nerdamer Notation

For mathematical expressions and functions written inside nerdamer('...').

factor(x^4-1)
solveeqs([x+y=5, x-y=1], [x,y])
diff(sin(x)^2, x)

Use this for: expression syntax, algebra, calculus, solving, vectors, matrices, and the notation function reference.

→

Nerdamer Scripting Beta

For programs written in Nerdamer's scripting language. Scripting is supported, but some syntax and API details may still change before Nerdamer 2.0 final.

block(
  x: 4,
  if(x > 3, x^2, x)
)

Use this for: assignments, control flow, loops, blocks, local scope, and user-defined functions.

→

JavaScript / TypeScript API

For calling Nerdamer from application code and importing its public classes, functions, and types.

import nerdamer from 'nerdamer';
import { Matrix } from 'nerdamer/structures';

const result = nerdamer('x^2+1');

Use this for: the callable nerdamer API, package exports, classes, functions, types, and integration examples.

Not sure which one you need? If you are typing mathematics such as factor(x^2-1), use Nerdamer Notation. If you are writing control flow such as if(...) or block(...), use the Nerdamer Scripting language. If you are writing JavaScript or TypeScript that imports or calls Nerdamer, use the JavaScript / TypeScript API.
Localized errors. The library includes built-in error messages for each supported language. Use the LANGUAGE setting to select the error-message language. See Settings and configuration for the supported language codes and an example.

Getting started and project guides