MathSolver Help

Calcinator  MathSolver offers a powerful symbolic mathematics engine with the simplicity and ease of a calculator interface. The MathSolver can solve for any unique variable in an equation, perform calculus, or reduce an expression. All common math operations and functions are supported. Results can be stored in the shared memory M1-M6 for use in other calculations.


Entering Expressions

The MathSolver is an intuitive WSYWIG (What-You-See-Is-What-You-Get) interface that makes equation editing a snap. There are some default behaviours and configurable options to be aware of before editing:

  • Use the Del button or the Delete key on keyboard devices to delete an object.
  • Use the left/right arrow buttons or the left-right cursor keys to place the cursor for editing
  • The up/down arrow keys select the 20 internal memory locations for storing and editing multiple expressions. See Expression Recall below.
  • Expressions can be imported from the Scientific Calc or MathEditor into the MathSolver via the M1-M6 memory locations.

Expression Recall

The MathSolver has that capacity to store 20 expressions. These are distinct from the shared memory locations M1-M6. These 20 expressions are only accessible to the MathSolver but can be saved to the shared memory if desired. The 20 expressions can be recalled using the up/down arrow keys. Each expression location is live when selected and will save it's current state as it is edited. All expression locations are saved to cookies so they are available in the next editing session. Deleting cookies will remove all of the saved expressions.


Keyboard Shortcuts

The following keyboard shortcuts are supported on keyboard-equipped devices:

  • 0-9
  • + - × / ( ) [] {} ^ .
  • Enter → View
  • Backpace → Del
  • left-right cursor keys → expression editing
  • a-z A-Z keys → a-z A-Z variables
  • Functions: sin( cos( ...etc.
  • Special characters:
  • i : imaginary constant i
  • e : Euler constant e
  • pi : π
  • intg :

Functions and Roots

Functions such as sin(x) and roots such as x are processed computer-style, which means that the operand is delimited by parentheses. Inserting a new function will display →) as a reminder that there are unterminated functions or parentheses.

Functions with parameters such as logn and  n   have an extra parameter that is filled in by backing up the cursor to the empty square. Otherwise they work the same as single operand functions.

Included functions:

  • sin - sine
  • cos - cosine
  • tan - tangent
  • sec - secant
  • csc -cosecant
  • cot - cotangent
  • asin - arcsine or inverse sine
  • acos - arccosine or inverse cosine
  • atan - arctangent or inverse tangent
  • asec - arcsecant or inverse secant
  • acsc -arccosecant or inverse cosecant
  • acot - arccotangent or inverse cotangent
  • sinh - hyperbolic sine
  • cosh - hyperbolic cosine
  • tanh - hyperbolic tangent
  • asinh - hyperbolic arcsine
  • acosh - hyperbolic arccosine
  • atanh -hyperbolic arctangent
  • logn - log to base n
  • ln - log to base e
  • n - exp
  • √ - square root
  • ³√ - cube root
  • n√ - nth root
  • erf - error function
  • erfc - complementary error function
  •  ∂  ∂x  - partial derivative
  •  d  dx  - total derivative
  • dx- indefinite integral
  • b
     
    a
    dx - definite integral
  • lim - limits of continuous functions

Precedence

Expressions are evaluated from left to right. Math operators have a precedence value that determines which operations are performed first.

Operator precedence from first to last:

  1. () → Operations inside parentheses
  2. xn → Exponents
  3. −x → Negative numbers: −42 = −(42)
  4. xN → Terms such as 2π: 2π/4i = (2π)/(4i)
  5. / → Divide
  6. × → Multiply
  7. +− → Add/Subtract

Parentheses/Brackets

Parentheses perform a dual function in the MathSolver. They are both symbols and delimiters. Parentheses are often required to delimit division and other functions in order to indicate precedence. Redundant parentheses in the editor window will be removed in the Solutions screen.


Solving an Equation for a Variable

One of the many functions of the MathSolver is to rearrange equations to solve for any unique variable. To solve an equation, just enter the equation via the keypad and press the Solve button. The MathSolver will identify all of the unique variables and return equations solved for each variable. Equations can be entered in any form. They can be in standard forms such as x = yz or yz/x = 0 or wx = yz. Equations do not need to be in simplified form, the MathSolver will automatically reduce any expression. If a variable is not unique or solvable, it will be excluded from the solutions. The Solutions screen will show each solved equation with a corresponding pulldown menu for additional processing options (see below).


Reducing Expressions or Fractions

The MathSolver will automatically attempt to reduce any expression to its simplest form. Any expression entered without an "=" sign will be automatically reduced to its simplest form including fractions. MathSolver arithmetic attempts to produce exact results where possible and preserve integer values. For example, 6/18 will be reduced to 1/3 rather than 0.33333333333333 and 1/4 will remain 1/4 rather than 0.25. Roots and logs are reduced only if they can produce an integer, so that 2 remains 2 but 4 will be reduced to 2.

Fractions can be added/subtracted/multiplied/divided using expression reduction. Just enter the expression as conventional fractions and the MathSolver will automatically perform the operation and return the result in a reduced fraction.


Calculus

Derivatives, limits, and integrals can be calculated using the MathSolver using conventional notation. The following symbols are supplied on the keypad for entering calculus expressions:

  •  ∂  ∂x  - derivative with respect to x, where the x parameter may be replaced with another variable (partial derivative if function has multiple variables)
  •  d  dx  - derivative with respect to x, where the x parameter may be replaced with another variable (total derivative if function has multiple variables)
  • ∫ - indefinite integral (differential symbol: dx required)
  • b
     
    a
    - definite integral over interval [a,b], where [a,b] may be replaced with numbers or variables (differential symbol: dx required)
  • dx - differential with respect to x, where the x parameter may be replaced with another variable
  •  limx→∞ - limit of a continuous function as x approaches infinity where both x and infinity may be replaces with numbers or symbols
Calculus expressions are evaluated in accordance with standard math conventions. Derivatives and integrals may be mixed with the following rules applying to derivative precedence:

ddx f(x)+ ddy g(y) = ddx (f(x)+g′(y))
( ddx f(x))+( ddy g(y)) = f′(x)+g′(y)

Second derivatives can be calculated using a two consecutive derivatives:

ddx ddx f(x)

Multiple integration can also be performed using nested expressions:

xy dx dy

Not all integral expressions have solutions. If an integral cannot be calculated, then the original expression is returned.

NOTE: Solving integrals can take a long time! Please be patient when solving integrals. On some low-power mobile devices, difficult integrals can take over a minute. Different integrals take varying amounts of processing time depending upon the algorithm required. Several algorithms for solving integrals are employed such as 'integration by parts', 'integration by substitution', 'integration by derivative search', and 'integration by test'. It may not be apparent which algorithm is required and it may take a long time for the system to decide that it can not solve the problem. This is unavoidable with integral calculus. It is just plain hard!


Substitutions

Substitutions can be performed with the left arrow symbol (←). To perform a substitution place a left arrow after an expression. Placing an equation after the left arrow will instruct the system to substitute the expression on the right side of the ← symbol with the expression on the left. The results will be automatically simplified.

Example: x2yy = a2 results in: x2a2

The Solutions Pulldown Menu

Each result in the Solutions screen has an associated pulldown menu which performs the following functions:

  • Enlarging or shrinking font size
  • "Simplify" expression, which reduces the expression to to its simplest form
  • "Expand" expression, which expands products, quotients, logs, and exponents
  • "Factor" expression, which factors polynomials
  • "Trig to Exponential" expression, which converts trig and hyperbolic functions into exponential equivalents
  • "Store to Mx", which stores the result to the currently selected M1-M6 memory cell

Domain and Range

Operations can be performed in either the real number domain ℝ or the complex number domain ℂ. The selection can be made via the ℂ/ℝ button on the main menu. The domain selection button is only shown on the 'wide' or 'landscape' view. This setting in persistent and will remember its selection until changed. This setting will affect the results of certain symbolic operations but in most cases will give identical results in either setting.

Every symbolic calculation will generate a domain and range calculation below each solution. Domain calculations will show the allowed input values for each variable in the expression. The range calculation will show the allowed output values.

Domain/Range example:

x
{x∈ℝ; x ≥ 0}

Using LaTex

The MathSolver can export and import traditional LaTeX code allowing interchange of math expressions with other math software. LaTeX is a standardized computer code for specifying mathematics into documents for publishing. LaTeX is primarily a publishing format but because of it's flexibility and wide acceptance LaTeX has become the preferred format for all forms of math code. The MathSolver can interpret well-formed LaTex code and convert it into its own internal processing format.

LaTeX is flexible enough to create math code that does not make sense or is ambiguous. Because MathSolver is a mathematics execution environment, it must enforce some rules for interpreting and delimiting imported code. It may not look exactly like publishing format after import. Experiment with different LaTeX formatting to understand the best way to import LaTeX into MathSolver. Using the 'fn(x)'/'fn x' buttons to change the function view will show how the MathSolver is interpreting LaTeX code. The MathSolver can also export LaTeX code for interchange with other math processing software. The same rules apply for exporting and importing. It is important to understand that LaTeX is very flexible and can be used to compose nonsense math. Calcinator MathSolver can import and display nonsense math, but cannot process it.

Press the LaTeX button on the main page of the MathSolver to import or export LaTeX. LaTeX code is imported from this window using the Import button. The Import function will overwrite the currently selected expression with the contents of the LaTex window.


Shared Memory M1-M6

Using the MS and MR buttons, expressions can be stored and recalled from shared memory M1-M6. Any expression created by the MathSolver can be transferred to the MathEditor for export to Latex/HTML. Expressions can be imported from MathEditor only if they use symbols and functions supported by the MathSolver . Unsupported symbols will give errors or nonsensical results. Numerical-only expressions can be imported into ScientificCalc for reduction to real or complex values. Variables have a default value of 1 in the ScientificCalc.