# Tutoring - pluggable solvers

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## Why tutors may use pluggable solvers

Often times, when tutors solve math problems, the interesting part is reducing the problem and translating it from English to Algebrese.

Quote typically, such reductions reduce the problem to typical equations such as quadratic equation or linear equation. Solving these equations is the boring part. Plus, humans make mistakes.

Here's where pluggable solvers some in. The newer solvers on my site are pluggable, meaning that they can be invoked by tutors in their solutions. For now, I made several such solvers available.

## Example

this example shows how easy it is. Click on "View Source" to see how I did it. Here's another example.

## How to use pluggable solvers

In yous solution, suppose that you need to solve quadratic equation x^2-2x-3 = 0.

Say:

``` *[invoke quadratic "x", 1, -2, -3]
```

that text will be replaced with a full, well explained solution to this quadratic equation.

Linear 2x2 system solver

Suppose that you need to solve system

``` 2x-3a=4
5x+6a=7
```

Say:

``` *[invoke linear "x", "a", 2, -3, 4, 5, 6, 7]
```

For solving linear systems with substitution, say similarly

``` *[invoke linear_substitution "x", "a", 2, -3, 4, 5, 6, 7]
```

this will create a "in-line" solution to this system.

Simplifier that shows work

Many problems with one variable can be solved by my simplifier that shows work. It simplifies expressions and detects and solves equations.

Say:

``` *[invoke explain_simplification "6x^2/x = 18"]
```

Note that the expression or equation MUST be enclosed in double quotes " and ".

Substitution solver

All substitution problems like "compute x^3-2y+3 for x=5, y=3", can be solved with my substitution solver that shows work.

``` *[invoke substitution "x^3-2y+3", "x", 5, "y", 3]
```

use of quotes is important!

## Technique

A good technique is to type your solution, invoke the solver, and then look at results. Depending on results, continue writing (perhaps negative roots are not allowed, and you should mention that etc).

Also, variable names MUST be enclosed in double quotes'', like this: "x".

## The RULES

The syntax is: it starts with STAR and LEFT SQUARE BRACKET: *[ then the word "invoke", then solver name, and then parameters (numbers), separated by comma. It closes with a closing square bracket.

## Suggestions welcome

Feel free to email ichudov AT algebra DOT com to ask for more solvers. For now, I want to use only these two, to iron out the bugs. That should last a few days (7/18/2005).