 # Qalculate! features

#### Math Library

• Calculation and parsing:
• Basic operations and operators: + - * / mod ^ E () && || ! < > >= <= != ~ & | << >> xor
• Fault-tolerant parsing of strings: log 5 / 2 .5 (3) + (2( 3 +5 = ln(5) / (2.5 * 3) + 2 * (3 + 5)
• Expressions may contain any combination of numbers, functions, units, variables, vectors and matrices, and dates
• Supports complex and infinite numbers
• Propagation of uncertainty
• Interval arithmetic
• Supports all common number bases, as well as negative and non-integer radices, sexagesimal numbers, time format, and roman numerals
• Ability to disable functions, variables, units or unknown variables for less confusion: e.g. when you do not want (a+b)^2 to mean (are+barn)^2 but ("a"+"b")^2
• Customizable implicit multiplication
• Matrices and vectors, and related operations (determinants etc.)
• Verbose error messages
• Arbitrary precision
• RPN mode
• Result display:
• Supports all common number bases, as well as negative and non-integer radices, sexagesimal numbers, time format, and roman numerals
• Many customization options: precision, max/min decimals, complex form, multiplication sign, etc.
• Exact or approximate: sqrt(32) returns 4 * sqrt(2) or 5.66
• Simple and mixed fractions: 4 / 6 * 2 = 1.333... = 4/3 = 1 + 1/3
• Symbolic calculation:
• E.g. (x + y)^2 = x^2 + 2xy + y^2; 4 "apples" + 3 "oranges"
• Factorization and simplification
• Differentiation and integration
• Can solve most equations and inequalities
• Customizable assumptions give different results (e.g. ln(2x) = ln(2) + ln(x) if x is assumed positive)
• Functions:
• Hundreds of flexible functions: trigonometry, exponents and logarithms, combinatorics, geometry, calculus, statistics, finance, time and date, etc.
• Can easily be created, edit and saved to a standard XML file
• Units:
• Supports all SI units and prefixes (including binary), as well as imperial and other unit systems
• Automatic conversion: ft + yd + m = 2.2192 m
• Explicit conversion: 5 m/s to mi/h = 11.18 miles/hour
• Smart conversion: automatically converts 5 kg*m/s^2 to 5 N
• Currency conversion with retrieval of daily exchange rates
• Different name forms: abbreviation, singular, plural (m, meter, meters)
• Can easily be created, edited and saved to a standard XML file
• Variables and constants:
• Basic constants: pi, e, etc.
• Lots of physical constants (with or without units) and properties of chemical element
• CSV file import and export
• Can easily be created, edited and saved to a standard XML file
• Flexible - may contain simple numbers, units, or whole expressions
• Data sets with objects and associated properties in database-like structure
• Plotting:
• Uses Gnuplot
• Can plot functions or data (matrices and vectors)
• Ability to save plot to PNG image, postscript, etc.
• Several customization options
• and more...
The manual includes a complete list of included functions, units, and variables, and some examples.

#### User Interface

• Graphical user interfaces implemented using GTK or Qt
• Flexible expression entry with customizable completion, hints, and continious display of parsed expression
• Optional calculate-as-you-type mode (GTK)
• Small and ... not so small mode (GTK)
• Calculation history which allows the user to access the text and value of and apply operations to previous expressions and result
• Customizable meta modes for quickly switching between different settings (GTK)
• Dialogs for management of and easy access to functions, variables and units (with quick conversion)
• User friendly dialogs for functions, with description and entries for arguments
• Create/edit functions, variables and units
• Easy editing of matrices and vectors
• Various tools for fast conversion between number bases, floating point conversion, calendar conversion, and percentage calculation (GTK), and a period table (GTK)
• Convenient interface to gnuplot
• Configurable keyboard shortcuts (GTK)
• Additional text based interface with full functionality
• and more...