# Tutoring - pluggable solvers

## Contents

## 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

**Quadratic solver**

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).

## More information

Strictly speaking, all my solvers whose URL ends with .solver, are pluggable. Just supply the parameters in order that you see them in the input section of the solver, that's all. Many other solvers are simply less frequently needed, the quadratic equation and linear system are the perennial favorites of all school programs.