Math formula editor lets users enter and edit mathematical formulas.

Its main value is understanding the formula's meaning.

Math Editor is the first class interface between people who need to work with familiar formula notation and specialized math software that need strict input.

When we developed an AI based Calculus tutor for one of our customers, we needed a way for users to interact with the tutor by entering math formulas for the tutor to understand and process.

None of the existing formula editors suited us for the following reasons:

- They are designed for printing
- All the other formula editors produced their result in a specialized language designed for printing. Extracting mathematical meaning from it turns out to be a very difficult, and sometimes unsolvable task.
- They are poorly accessible
- Disabled (blind) people cannot use the editors at all, while accessibility is a standard requirement of all the modern Universities.
- They can’t handle errors
- When a user enters a formula he often makes mistakes that make the formula meaningless, while they have no way to find where the problem was and what to do to fix it.
- They may provide ambiguos expressions
- The same looking formulas often have completely different meanings. Is y(x+1) a multiplication or a function call?

We developed our own formula editor that understands the formula's meaning. The editor is user-friendly, accessible and ready for integration with any external systems.

The editor can convert a manually entered formula into a strict language that is understood by external systems such as Computer Algebra Systems, plotting libraries and a lot more.

It is an ideal interface between people who need to work with familiar formula notation and specialized math software products that need strict input.

Integration with SymPy - an open source computer algebra system lets us automatically take the derivative, integrals, simplify the formula and a lot more.

Integration with matplotlib, a plotting library, enables 2d and 3d plotting features.

The editor has a syntax tree and a semantic tree of the expression inside. The trees are updated on the fly.

Syntax tree reflects the expression structure. Semantic tree reflects the expression's meaning.

Using the semantic tree we can integrate the editor with a broad range of math-oriented software.

You can change the formula and see how the trees get rebuilt on the fly here

Understanding the meaning of the expression, the editor highlights syntax errors and can give context-sensitive hints when writing a formula

The editor is adapted for blind people, and can vocalize the input character-by-character as well as read complete formulas as if a human mathematician did it.

The editor is API driven and extensible. As a developer you have full control over the editor’s behavior, can listen and react to the in-editor events, can interact with the editor’s users and post-process the user’s input (e.g adding custom validators or custom heuristics).

The editor can be integrated with a lot of existing software to bring a first class human-machine interface in the mathematical area.

The most obvious applications are:

- Developing authoring tools
- Creating math quiz editors (like this one, created by us as a sample).
- Developing math tools (problem solvers, plot builders etc)
- Making existing formulas (e.g. written in LaTex) accessible, translating them to English
- Converting textbooks to interactive textbooks

We use cookies.

Please leave a message and we will get back to you to answer all your questions.

We appreciate you contacting us about your project. We will get back to you shortly to discuss the details.