# KAlgebra

Developer(s) Screenshot of KAlgebra showing 2D plotting KDE 2005 C++ (Qt) Unix-like (BSDs, Linux, OS X), Windows multiple languages Educational, Mathematical, Graphing Calculator GNU GPL Project Homepage

KAlgebra is a mathematical graph calculator included in the KDE education package. While it is based on the MathML content markup language, KAlgebra can be also used by those with very little mathematical knowledge. The calculator include numerical, logical, symbolic, and analysis functions, with the ability to plot the results onto 2D or 3D space. KAlgebra is free and open source software, licensed under the GNU Public License.

KAlgebra has been mentioned by various media sources as free / open source educational programs.[1][2]

## User interface and syntax

Cosine function in the Dictionary view.

KAlgebra uses an intuitive algebraic syntax, similar to those used on modern graphing calculators. User entered expressions are converted to MathML in the background, or they can be entered directly. The program is divided into four views, Console, 2D Graph, 3D Graph, and Dictionary. A serious of calculations can be performed with user defined scripts, which are macros that can be reused and shared.

The dictionary includes a comprehensive list of all built in functions in KAlgebra. Functions can be looked up with parameters, examples, formulas and sample plots. Over 100 functions and operations are currently supported.

## Graphing and dictionary

3D graph demonstrating the sombrero function.

In the 2D and 3D graph views, functions can evaluated and plotted. Currently KAlgebra only supports 3D graphs explicitly dependent only on the x and y. Both views support defining the viewpoint. The user can hover their cursor over a line and find the exact X and Y values for 2D graphs, as well as create a live tangent line.

In the 3D view, the user can control the vewipoint position with the keyboard's arrow keys, and zooming in and out is done via the W and S keys respectively. The user can also draw lines and make dots on the 3D graph and export the graph in various formats.