symbolic-math
    TypeScript icon, indicating that this package has built-in type declarations

    0.9.48 • Public • Published

    symbolic-math

    npm version

    symbolic-math is a Javascript (Typescript) library for symbolic mathematics.

    Example

    import { assert } from "chai";
    import { create_engine } from "../index";
    
    describe("example", function () {
        it("a divided by b", function () {
            const lines: string[] = [
                `a/b`
            ];
            const eng = create_engine();
            const { values } = eng.executeScript(lines.join('\n'));
            assert.strictEqual(eng.renderAsInfix(values[0]), "a/b");
            assert.strictEqual(eng.renderAsSExpr(values[0]), "(* a (power b -1))");
            assert.strictEqual(eng.renderAsLaTeX(values[0]), "\\frac{a}{b}");
            eng.release();
        });
    });

    Features

    • arbitrary-precision arithmetic
    • complex quantities
    • geometric algebra
    • trigonometric functions
    • special functions
    • simplification
    • expansion
    • substitution
    • factoring
    • symbolic and numeric roots
    • units of measurement
    • matrices
    • derivatives and gradients
    • tensors
    • integrals
    • multi-integrals

    Getting Started

    Please take a look at the tutorial file.

    Contributing

    Please take a look at the contributing file.

    References

    symbolic-math is a fork of Algebrite by Davide Della Casa. The fork adds Geometric Algebra, S.I. Units of Measure, and changes the way that expressions are matched and transformed.

    Algebrite started as a port of the EigenMath CAS by George Weigt to TypeScript. Another fork of EigenMath: SMIB by Philippe Billet.

    Another CAS of similar nature is SymPy made in Python.

    Three other Javascript CAS are

    • javascript-cas by Anthony Foster supporting "differentiation, complex numbers, sums, vectors (dot products, cross products, gradient/curl etc)"
    • Coffeequate by Matthew Alger supporting "quadratic and linear equations, simplification of most algebraic expressions, uncertainties propagation, substitutions, variables, constants, and symbolic constants".
    • Algebra.js by Nicole White which among other things can build and solve equations via a "chainable" API.

    Install

    npm i symbolic-math

    DownloadsWeekly Downloads

    313

    Version

    0.9.48

    License

    MIT

    Unpacked Size

    6.4 MB

    Total Files

    104

    Last publish

    Collaborators

    • geometryzen