A powerful cross-platform desktop calculator library and CLI with symbolic math, unit conversion, arbitrary precision, and plotting.
libqalculate is the core library and command-line interface (CLI) for Qalculate!, a multi-purpose desktop calculator. It provides advanced mathematical capabilities like symbolic computation, unit conversion, arbitrary precision, and plotting, all through a simple yet powerful interface. It solves the problem of needing separate tools for basic arithmetic, scientific calculations, and unit conversions by integrating them into one cohesive system.
Students, engineers, scientists, and anyone needing a powerful calculator for everyday or advanced mathematical tasks, from unit conversions to symbolic algebra and data plotting.
Developers choose libqalculate for its unique combination of ease of use and advanced features, offering a comprehensive mathematical toolkit without the complexity of specialized software like MATLAB or Mathematica, all in an open-source, cross-platform package.
Qalculate! library and CLI
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports factorization, differentiation, integration, and equation solving, as shown in the algebra and calculus examples, rivaling specialized software.
Includes over 400 units with automatic conversion and daily-updated currency rates, enabling expressions like '20 miles / 2 h to km/h' for practical use.
Features rational and floating-point numbers with arbitrary precision, uncertainty propagation, and interval arithmetic for high-accuracy calculations, demonstrated in uncertainty examples.
Fault-tolerant parsing with verbose error messages allows natural input, such as mixing units and functions without strict syntax, as highlighted in the general features.
Offers more than 400 built-in functions across trigonometry, statistics, finance, and calculus, making it versatile for diverse mathematical tasks.
Requires multiple external libraries like GMP, MPFR, and libxml2, with optional dependencies like Gnuplot for plotting, complicating installation on some systems.
The library is primarily accessed via command-line interface (qalc), which may be less intuitive for users accustomed to graphical calculators without installing separate GUI apps.
Plotting relies on an external Gnuplot dependency, adding setup steps and potential compatibility issues, unlike self-contained solutions.
As a C++ library, integrating it into other languages (e.g., Python, JavaScript) requires bindings or subprocess calls, lacking straightforward cross-language support.