To see the complete list of supported symbols, rules and operations, read this section.

Math solver

MyScript iink SDK not only recognizes equations, it can also solve some of them! Its arithmetic solver can solve input equations under the following conditions:

Manual or automatic solver

You can either choose to add a button so that your user will activate the solver manually or to have your app automatically solve every supported equation. Just choose what is more appropriate to your use case!

Customize your output

You can choose the angle unit (degree or radian), how many decimals you want displayed and whether you want results to be rounded or truncated. You can also decide to insert implicit multiply operators, perform syntactic correction or whether an equal sign should be present to trigger the solving.

➤ Refer to the math.solver. configuration settings to see what you can control with the numerical computation action of the math solver.

Math solver in a Math part or Text Document part

By default math solver is activated but you can disable it.

Math solver in a Raw Content part or block

The MathSolverController object is the entry point for interacting with your math content in a "Raw Content" part or block with Editor and OffscreenEditor.

To use a MathSolverController, you must configure your Raw Content part with the advanced analyzer raw-content2 and math2 bundles.

Variable management

The MathSolverController manages variables in mathematical expressions: variables are single letters, either Latin or Greek, with an optional positive integer subscript. Variable management can be:

By default, automatic variable management is disabled, you can enable it with the math.solver.auto-variable-management.enable property.

The getVariables method gets information about all variables associated with a given block.

Evaluation of a block expression to get plot-ready coordinates

The MathSolverController has an evaluate method to calculate the outputs of an evaluable math block expression, for a given range of input values. This allows you to get plot-ready coordinates that you can use to plot graphs using a graphics library.

An expression is evaluable if it can be interpreted as a function of a given variable:

The getEvaluables method returns the list of evaluable variables for a “Math” block.

Get the solver output

The MathSolverController can

Diagnostics and troubleshooting

To help you troubleshoot common pitfalls, the getDiagnostic method performs diagnostics on a given task and the specified block. It can be useful for:

The getDiagnostic also returns a MathDiagnostic code so that your application can get information about error situations, such as computation errors, and that you can map to a localized error message in your application to let end users know what’s going on.