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:
- Programming and algebra keypads
- Customizable keypad
- Customizable keyboard shortcuts
- Option to hide number pad (right part of keypad)
- Workspace (mode, history, and temporary variables) can now be saved (to a single file)
- New matrix syntax (column separated by space or comma, rows separated by semicolon, as in matlab)
- 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
- Fix Unicode handling on platforms where char is not signed
- 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 (libqalculate)
- Support input of functions, units, and variables with underscores omitted in names (e.g. µ0 = µ_0, FermiCoupling = fermi_coupling), with some exceptions (libqalculate)
- Convert K, Hz, and 1/m to J (and derived units) using conversion factor constants (e.g. 1/(550nm) to eV ≈ 2.25 eV) (libqalculate)
- Allow use of M as 10^6 without unit (libqalculate)
- New ksi unit (libqalculate)
- New functions: divisors(), rate(), vertcat(), horzcat() (libqalculate)
- New plastic number (ρ) constant, and new "hbar" name for reduced Planck constant, and add second Unicode codepoint for µ-sign in constants (libqalculate)
- Allow zero (1st and/or 2nd argument) in comb() and perm(), and return zero if second argument (k) is greater than the first (n) (libqalculate)
- Calculate statistical functions (e.g. mode(), min(), max(), percentile()) separately for each column of matrix (libqalculate)
- Return the lowest value if there are multiple values with equal frequency in mode() (libqalculate)
- Parse text argument as expression if concatenate function name is found in text string, and fix concatenate returning date (libqalculate)
- Fix bitrot() (libqalculate)
- Fix segfault in multisolve() when initial order of equations is not optimal (libqalculate)
- Fix segfault with empty sqrt inside sqrt, e.g. sqrt(1+sqrt()) (libqalculate)
- Fix incompletely calculated nounit(), e.g. in unit conversion (libqalculate)
- Many feature improvements and bug fixes (see the git log for more details)
Download the source code here:
qalculate-qt-4.0.0.tar.gz
Download the source code of libqalculate here:
libqalculate-4.0.0b.tar.gz
Windows binaries:
64-bit installer
32-bit installer
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 Qt GUI requires Windows 10 or later.
GNU/Linux binaries:
A flatpak package is available at https://flathub.org/apps/details/io.github.Qalculate.qalculate-qt.
A snap package is available at https://snapcraft.io/qalculate-qt.
For more information visit the website at http://qalculate.github.io/.