github Qalculate/libqalculate v4.0.0
Qalculate! version 4.0 (library and CLI)

latest releases: v5.3.0, v5.2.0, v5.2.0.1...
2 years ago

Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation). Features include a large library of customizable functions, unit calculations and conversion, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface (GTK+, Qt, and CLI).

Changes:

  • New matrix syntax (column separated by space or comma, rows separated by semicolon, as in matlab)
  • Do not make any difference between a vector and a matrix with a single row, or between a scalar and matrix with a single element
  • Support input of functions, units, and variables with underscores omitted in names (e.g. µ0 = µ_0, FermiCoupling = fermi_coupling), with some exceptions
  • Option to disable "simplified" percentage calculations (e.g. interpret 100 + 20% as 100 + 0.2 instead of 100 × 120%)
  • Option to truncate numbers (instead of round to nearest) in result
  • Convert K, Hz, and 1/m to J (and derived units) using conversion factor constants (e.g. 1/(550nm) to eV ≈ 2.25 eV)
  • Allow use of M as 10^6 without unit
  • New ksi unit
  • New functions: divisors(), rate(), vertcat(), horzcat()
  • New plastic number (ρ) constant, and new "hbar" name for reduced Planck constant, and add second Unicode codepoint for µ-sign in constants
  • Allow zero (1st and/or 2nd argument) in comb() and perm(), and return zero if second argument (k) is greater than the first (n)
  • Calculate statistical functions (e.g. mode(), min(), max(), percentile()) separately for each column of matrix
  • Return the lowest value if there are multiple values with equal frequency in mode()
  • Parse text argument as expression if concatenate function name is found in text string, and fix concatenate returning date
  • New layout for output of result of matrices and equations (qalc)
  • Fix Unicode handling on platforms where char is not signed
  • Fix bitrot()
  • Fix segfault in multisolve() when initial order of equations is not optimal
  • Fix segfault with empty sqrt inside sqrt, e.g. sqrt(1+sqrt())
  • Fix incompletely calculated nounit(), e.g. in unit conversion
  • Minor bug fixes and feature improvements (see the ChangeLog for more details)

For changes in the GUIs, see the release notes for qalculate-gtk and qalculate-qt

Download the source code here:
libqalculate-4.0.0a.tar.gz Updated 2022-02-22 with fix for Qalculate/qalculate-gtk#360

Download the source code for the graphical user interfaces (qalculate-gtk and qalculate-qt) here:
qalculate-gtk-4.0.0.tar.gz
qalculate-qt-4.0.0.tar.gz

Download Windows binaries here:
64-bit installer
32-bit installer (use compatibility mode to avoid keyboard input issues)
64-bit zip (unpack and run without further installation; no application data are read or written outside of the unpacked directory)
32-bit zip
The 64-bit binaries can now also be installed using the Windows Package Manager (winget). The new Qt GUI requires Windows 10 or later.

GNU/Linux binaries:
A flatpak package (GTK GUI) is available at https://flathub.org/apps/details/io.github.Qalculate.
snap packages are available at https://snapcraft.io/qalculate (GTK GUI) and https://snapcraft.io/qalculate-qt (Qt GUI).
64-bit (x86) self-contained binaries (GTK GUI) (extract and run from anywhere on most GNU/Linux distributions; no translations included)

For more information visit the website at http://qalculate.github.io/.

Don't miss a new libqalculate release

NewReleases is sending notifications on new releases.