Repolode
Qalculate

Qalculate/libqalculate

A cross-platform desktop calculator library and command-line tool supporting units, symbolic math, arbitrary precision and uncertainty propagation.

Open-source alternative to:Wolfram AlphaMathematica

Stars
2,725
Forks
201
Open issues
203
Last commit
22 hours ago

What is it?

Qalculate! is a multi-purpose desktop calculator built on libqalculate, a C++ library that powers its interfaces. It covers everyday tasks such as currency conversion and percent calculation, while also handling more advanced work like symbolic integrals and equations, arbitrary precision arithmetic, and interval arithmetic.

The project provides the core engine as a library plus the qalc command-line program, which runs single expressions non-interactively or starts an interactive session with history and completion. Graphical front ends are maintained separately, including qalculate-gtk and qalculate-qt.

The library includes hundreds of built-in functions and units, customizable variables, and physical constants with 2022 CODATA values. It can also plot functions and data through Gnuplot.

Key features

  • 01Unit calculations and conversion across SI, imperial, CGS and atomic units, plus daily-updated currency rates
  • 02Symbolic calculation including factorization, differentiation, integration and solving equations
  • 03Arbitrary precision with exact and approximate output
  • 04Uncertainty propagation and interval arithmetic
  • 05Over 400 customizable functions and built-in physical constants
  • 06Command-line tool qalc with non-interactive and interactive modes, plus plotting via Gnuplot

Use cases

  • Doing quick unit conversions or currency calculations from the terminal
  • Performing symbolic algebra, calculus or equation solving without a full math package
  • Calculating with measurement uncertainties in scientific or engineering work
  • Embedding a full-featured math engine into another application through the library

Quick start

  1. 1

    Build from the Git source: run autogen.sh

    ./autogen.sh
  2. 2

    Configure the build (run automatically by autogen.sh)

    ./configure
  3. 3

    Compile the project

    make
  4. 4

    Install it as root

    sudo make install

Things to know

  • Requires GMP, MPFR, libxml2 and other libraries to be installed before compiling.
  • Git source builds also need automake and autoconf.
  • Plotting depends on the optional Gnuplot tool.

In collections

Topics

#calculator#math#symbolic-math#unit-conversion#cli#cpp#arbitrary-precision

FAQ

What is libqalculate?
A cross-platform desktop calculator library and command-line tool supporting units, symbolic math, arbitrary precision and uncertainty propagation. Qalculate! is a multi-purpose desktop calculator built on libqalculate, a C++ library that powers its interfaces. It covers everyday tasks such as currency conversion and percent calculation, while also handling more advanced work like symbolic integrals and equations, arbitrary precision arithmetic, and interval arithmetic.
Is libqalculate free to use? What license does it have?
libqalculate is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
Is libqalculate still maintained?
Actively maintained. The last commit to libqalculate was on Nov 6, 2026.
What can I use libqalculate for?
Doing quick unit conversions or currency calculations from the terminal Performing symbolic algebra, calculus or equation solving without a full math package Calculating with measurement uncertainties in scientific or engineering work Embedding a full-featured math engine into another application through the library
How do I install libqalculate?
Build from the Git source: run autogen.sh: ./autogen.sh Configure the build (run automatically by autogen.sh): ./configure Compile the project: make Install it as root: sudo make install
Where can I get libqalculate?
The source code and installation instructions are on GitHub: https://github.com/Qalculate/libqalculate

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

A Python library for arbitrary-precision floating-point arithmetic, special functions, and numerical methods.

Data & Analytics#arbitrary-precision#numerical-methods#special-functions
1.2K+3 this week231PythonBSD-3-ClauseWell maintainedUpdated 2 days ago