Analitza
Overview | Getting Started | Tutorials | Examples and Showcases
Analitza is a library that work with mathematical objects. Analitza add mathematical features to your program, such as symbolic computations and some numerical methods; for instance the library can parse mathematical expressions and let you evaluate and draw them.
Development of Analitza take place in this repository.
Modules
The library consists of the following modules:
- Analitza is the core module, it is the parser of mathematical expressions.
- AnalitzaPlot let you draw mathematical objects like functions, equations, etc.
- AnalitzaGUI several UI components based on QWidget and QML.
AnalitzaGUI depends of AnalitzaPlot and AnalitzaPlot depends of Analitza.
Design Aspects
Analitza is based on a subset of Mathematical Markup Language (MathML) Version 2.0 so for instance the parser maintains structures that are mapped with a MathML content tag and thus can generate a MathML presentation for the current expression. This means also that all modules of the library are based implicitly on MathML.
Some important classes from each module are:
- Expression abstracts a valid expression from user input (a QString) and then Analyzer can evaluate the expression.
- PlotsModel manage the mathematical objects that can be drawn by Plotter2D or Plotter3D (both plotters are agnostic of technologies like QtWidgets or QtQuick).
- ExpressionEdit is a widget that allows inline editing of mathematical expressions. PlotsView2D is a widget that uses Plotter2D to show plots (same with PlotsView3D: it uses Plotter3D).
Features
- Parser can work with lambdas, matrices, vectors, polynomials, custom variables, etc.
- Parser suport some symbolic computations like derivatives, solving equations, etc.
- MathML built-in, so (for instance) is easy to export formulas to Latex.
- Extensible framework for plotting mathematical objects such implicit surfaces, parametrical curves, etc. in many coordinate systems.
- GUI components for input and manage mathematical expressions.
- Maintainer(s):
- Aleix Pol <aleix> pol@ kde.o rg
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:11:37 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.