Manual for Advanced Math Helper

A Complete Guide to the Accessible Pro Scientific Calculator

Welcome to the comprehensive command guide for the Accessible Pro Scientific Calculator. This tool was built from the ground up to bring advanced computer algebra capabilities directly to your browser. By utilizing a streamlined, command-line style input system and rich text-based outputs, the calculator ensures that complex mathematics remains highly efficient and completely accessible for screen reader users.

Below is a breakdown of the core engine commands, complete with practical examples to get you started. Note that the standard variables x, y, z, t, and s are pre-loaded and ready to use.

Important Note on Reserved Symbols: The engine pre-loads the standard variables x, y, z, t, and s, along with the capital letter I (which represents the imaginary unit). These symbols are strictly reserved for symbolic mathematics. To avoid breaking the calculator's logic or triggering calculation errors, please do not assign basic numerical values to these specific letters.

1. Calculus & Differential Equations

The calculator handles both symbolic and numerical calculus seamlessly.

Limits

Use limit(function, variable, target).

Input: limit(sin(x)/x, x, 0)
Output: 1

Integration

Use integrate for both definite and indefinite integrals.

Input (Indefinite): integrate(x**2, x)
Output: x3 3
Input (Definite): integrate(exp(-x), (x, 0, oo))
Output: 1

Series Expansion

Find the Taylor/Maclaurin series using series(function, variable, point, order).

Input: series(exp(x), x, 0, 4)
Output: 1+x+ x22+ x36+ O(x4)

Differential Equations

Use dsolve alongside Eq and y_func(t) to solve ODEs.

Input: dsolve(Eq(y_func(t).diff(t), -3*y_func(t)), y_func(t))
Output: y(t)= C1e-3t

Extracting Expressions from Eq Objects

When you solve a differential equation using commands like dsolve alongside Eq, the calculator outputs an equation object containing both sides of the equals sign. If you want to extract the mathematical expression itself for further calculations, use the .rhs (Right-Hand Side) or .lhs (Left-Hand Side) properties.

Example: If your solver outputs y(t)= C1e-3t and you save it to a variable, typing solution.rhs on your next line will strip away the y(t) and output only the expression C1e-3t .

2. Transforms & Algebraic Manipulation

Perfect for systems engineering and control theory, these commands let you manipulate equations and shift between domains.

Laplace Transforms

Shift from the time domain to the frequency domain. Tip: If you run into sign-dependency errors, declare s as strictly positive first by running s = Symbol('s', positive=True).

Input: laplace(exp(-2*t))
Output: 1s+2

Partial Fractions

Use apart to break down complex rational expressions.

Input: apart(1/((x - 1)*(x + 2)))
Output: -13(x+2) + 13(x-1)

3. Linear Algebra & Matrix Operations

You can define matrices and save them to your workspace memory to perform standard linear algebra operations.

Matrix Inversion

Use inv(m) to find the inverse of a saved matrix.

Input: m = Matrix([[1, 2], [3, 4]]); inv(m)
Output: -21 32-12

4. Vector Calculus

Analyze 3D vector fields using the pre-defined variables.

Gradient

Computes the vector derivative of a scalar function.

Input: grad(x**2 + y**2, x, y)
Output: 2x , 2y

5. Accessible Plotting & Analysis

Visualizations in this tool are designed to be accessible. When you generate a plot, the engine automatically calculates the function's numerical limits, critical turning points, and general trends, outputting this data as plain text directly to your screen reader.

Input: plot(x**2 - 4, -5, 5)
Output: Analysis: Func x**2 - 4: Y ranges from -4.00 to 21.00. Turning points at x = 0.0. General trend is Constant.

6. Complex Number Arithmetic

The calculator fully supports operations with complex numbers. Note that you must always use the capital letter I to represent the imaginary unit.

  • Basic Arithmetic: You can add, subtract, multiply, and divide as normal (for example, typing 3 + 4*I).
  • Real and Imaginary Parts: Use re(z) to extract the real portion and im(z) to extract the imaginary portion.
  • Magnitude and Angle: Use Abs(z) with a capital A for the magnitude, and arg(z) for the phase angle.
  • Complex Conjugate: Use the conjugate(z) command.

Troubleshooting: The Float Error

If you attempt to use complex numbers inside numerical arrays, statistical functions, or plotting tools, you might encounter a TypeError: Cannot convert complex to float. This happens because the background engine is trying to force a complex number into a standard decimal, which is mathematically impossible. To bypass this, keep your complex calculations purely symbolic by wrapping them in algebraic commands like simplify() or expand().


Conclusion

Mathematics and programming shouldn't be gated behind inaccessible graphical interfaces. By leveraging Python, SymPy, and a thoughtfully designed CLI environment, this calculator proves that we can build robust, screen-reader-friendly applications without compromising on raw mathematical power.

I encourage you to open the calculator, experiment with the commands above, and push the limits of what the SymPy engine can do in your browser. If you have feedback on how to improve the NVDA experience or want to share a complex script you've run, leave a comment below!

Comments

Popular posts from this blog

Advanced Accessible Math Helper