Qalculate! — это свободная кроссплатформенная программа-калькулятор с расширенными возможностями вычислений, рассчитанная на широкий круг пользователей: от студентов и инженеров до научных исследователей. Приложение сочетает в себе простоту обычного калькулятора и мощь вычислительной системы с произвольной точностью чисел, поддержкой символических выражений и обширной библиотекой математических функций. Интерфейсы включают как графическую оболочку, так и командную строку, что делает программу пригодной для интерактивной работы и автоматизации задач.
Проект ориентирован на точные и гибкие вычисления: реализована арифметика с произвольной точностью, комплексные числа, операции с матрицами и векторами, а также поддержка единиц измерения и конвертации. Qalculate! предоставляет средства для численного интегрирования и дифференцирования, решения уравнений, работы с вероятностными и статистическими функциями, а также базовые возможности символьной обработки выражений. Приложение разрабатывается как автономный инструмент, доступный для разных операционных систем и интегрируемый в рабочие среды через графические тулкиты (например, GTK или Qt) и утилиты командной строки.
- Произвольная точность: поддержка арифметики с настраиваемой точностью для целых чисел, вещественных и комплексных величин.
- Символьные вычисления: упрощение выражений, разложение, подстановка и работа с переменными в алгебраической форме.
- Численное интегрирование и дифференцирование: методы для приближённого вычисления интегралов и производных одной или нескольких переменных.
- Решение уравнений: численные и аналитические подходы к решению алгебраических и трансцендентных уравнений.
- Работа с матрицами и линейной алгеброй: операции над матрицами, вычисление детерминантов, ранга, обратных матриц и собственных значений.
- Единицы и конвертация: поддержка множества единиц измерения с возможностью автоматической конвертации и проверки размерностей.
- Статистические и вероятностные функции: функции распределений, базовые статистические оценки и работа с выборками.
- Кастомизация и расширяемость: настраиваемые функции, пользовательские переменные и возможность сохранения сессий и выражений.
- Интерфейсы: как графические (GTK/Qt), так и консольные интерфейсы, что обеспечивает гибкость в использовании и автоматизации.
- Локализация и документация: встроенные подсказки, отдельные справочные материалы и поддержка нескольких языков интерфейса в зависимости от сборки.