awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
josdejong avatar

josdejong/mathjs

0
View on GitHub↗
15,036 stars·1,304 forks·JavaScript·Apache-2.0·33 viewsmathjs.org↗

Mathjs

Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system.

The project distinguishes itself by providing a symbolic engine capable of parsing, simplifying, and manipulating mathematical expressions algebraically without requiring immediate numerical evaluation. It includes a framework for defining and converting physical quantities with units of measure and automatic prefix support.

The library covers a broad range of mathematical capabilities, including linear algebra with dense and sparse matrix operations, statistical data analysis, and arbitrary precision arithmetic to avoid floating-point errors. It also provides utilities for expression parsing, boolean logic, and mathematical output formatting for LaTeX and HTML.

A command line interface is available for executing operations and managing variables directly through a terminal.

Features

  • Scientific & Mathematical Computing - A comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations.
  • Symbolic Computation Engines - Provides a full symbolic engine for parsing, simplifying, and manipulating mathematical expressions algebraically.
  • Unit Conversion - Resolves physical quantities by traversing a graph of conversion factors and prefixes.
  • Unit Converters - Implements a comprehensive system for defining and converting physical quantities and units of measure.
  • Expression Simplifiers - Provides a symbolic engine that reduces complex mathematical expressions to their most basic algebraic form.
  • Scientific Computing - Enables complex scientific calculations using diverse data types like BigNumbers, fractions, and complex numbers.
  • JavaScript Math Libraries - A comprehensive library for scientific, complex, and arbitrary precision calculations within JavaScript and Node.js environments.
  • Linear Algebra Routines - Performs fundamental linear algebra operations such as LU decomposition, determinants, and matrix inverses.
  • Matrix Manipulations - Provides utilities for creating, reshaping, and manipulating dense and sparse matrices.
  • Arbitrary Precision Arithmetic - Executes high-precision calculations using specialized types to avoid floating-point round-off errors.
  • Linear Algebra - Provides tools for creating and manipulating matrices and performing operations like LU decomposition and determinants.
  • Derivative Calculators - Calculates rates of change by applying formal differentiation rules to an expression tree.
  • Statistical Analysis Libraries - Provides a collection of functions for calculating mean, median, variance, and correlation across datasets and matrices.
  • Symbolic Differentiation Tools - Calculates the symbolic derivative of mathematical expressions to find rates of change without numerical approximation.
  • Symbolic Expression Manipulators - Manipulates mathematical expressions algebraically to transform them without performing immediate numerical evaluation.
  • Symbolic Math Manipulators - Simplifies mathematical expressions and computes derivatives algebraically without evaluating them to a final number.
  • Mathematical Function Registries - Provides a configurable map of mathematical operations and constants that allows users to add custom logic.
  • Mathematical Data-to-String Converters - Converts numbers, matrices, and complex values into readable string formats including LaTeX and HTML.
  • Expression Evaluators - Evaluates mathematical strings via an internal parser to perform scientific calculations on text input.
  • Dynamic Type Dispatching Systems - Routes mathematical operations to specific handlers based on input data types such as BigNumbers or Matrices.
  • Algebraic Reduction Rules - Transforms expressions into basic forms by repeatedly applying a predefined set of symbolic reduction rules.
  • Computational Logic Extensions - Allows the addition of custom data types and new functions to increase the variety of supported operations.
  • Expression Evaluators - Computes results from mathematical strings or compiled expressions using a defined set of variables.
  • Statistical Analysis Libraries - Calculates mean, median, variance, standard deviation, and correlation for datasets.
  • Sparse Matrix Storage - Optimizes memory for large matrices by storing only non-zero elements and their coordinate positions.
  • Recursive Expression Parsers - Converts mathematical strings into an abstract syntax tree for execution via a recursive evaluation process.
  • Math and Numbers - Extensive library for mathematical functions.
  • Numeric and Math Utilities - Extensive library for mathematical operations.

Star history

Star history chart for josdejong/mathjsStar history chart for josdejong/mathjs

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does josdejong/mathjs do?

Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system.

What are the main features of josdejong/mathjs?

The main features of josdejong/mathjs are: Scientific & Mathematical Computing, Symbolic Computation Engines, Unit Conversion, Unit Converters, Expression Simplifiers, Scientific Computing, JavaScript Math Libraries, Linear Algebra Routines.

What are some open-source alternatives to josdejong/mathjs?

Open-source alternatives to josdejong/mathjs include: joelgrus/data-science-from-scratch — This project is a collection of foundational machine learning algorithms and data science tools implemented in Python.… norvig/paip-lisp — This project is a comprehensive Lisp AI implementation library that provides reference implementations for various… sympy/sympy — SymPy is a Python computer algebra system and symbolic mathematics library. It performs algebraic manipulations,… hedgehog-computing/hedgehog-lab — Hedgehog Lab is a browser-based scientific computing environment designed for executing numerical analysis, matrix… rust-ndarray/ndarray — ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific… fastai/numerical-linear-algebra — This project is a comprehensive library for numerical linear algebra and scientific computing, designed to provide…

Open-source alternatives to Mathjs

Similar open-source projects, ranked by how many features they share with Mathjs.
  • joelgrus/data-science-from-scratchjoelgrus avatar

    joelgrus/data-science-from-scratch

    9,636View on GitHub↗

    This project is a collection of foundational machine learning algorithms and data science tools implemented in Python. It focuses on building the logic of these tools using basic programming primitives rather than relying on specialized libraries. The implementation covers several core domains, including a linear algebra library for matrix and vector operations, a statistical analysis toolkit for probability and hypothesis testing, and a framework for map-reduce distributed processing. It also includes implementations for natural language processing, graph theory for network analysis, and var

    Python
    View on GitHub↗9,636
  • norvig/paip-lispnorvig avatar

    norvig/paip-lisp

    7,465View on GitHub↗

    This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also

    Common Lisp
    View on GitHub↗7,465
  • sympy/sympysympy avatar

    sympy/sympy

    14,683View on GitHub↗

    SymPy is a Python computer algebra system and symbolic mathematics library. It performs algebraic manipulations, calculus, and equation solving using symbolic representations to achieve exact computations rather than numerical approximations. The library includes a LaTeX expression parser that converts mathematical strings into symbolic representations for computation and formula manipulation. It also incorporates a mathematical benchmarking suite to measure execution speed and detect performance regressions across different software versions. The system provides capabilities for automated m

    Pythoncomputer-algebrahacktoberfestmath
    View on GitHub↗14,683
  • hedgehog-computing/hedgehog-labHedgehog-Computing avatar

    Hedgehog-Computing/hedgehog-lab

    2,384View on GitHub↗

    Hedgehog Lab is a browser-based scientific computing environment designed for executing numerical analysis, matrix operations, and symbolic computation directly within a web browser. It functions as a native engine for algebraic manipulation and equation solving, allowing users to perform complex mathematical tasks without requiring external server-side infrastructure or software installations. The platform distinguishes itself by leveraging hardware acceleration to process large-scale linear algebra and matrix calculations. It integrates a symbolic engine that parses mathematical expressions

    TypeScriptcomputer-algebradata-visualizationgpu-acceleration
    View on GitHub↗2,384
See all 30 alternatives to Mathjs→