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 , , , , and are pre-loaded and ready to use.
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).
limit(sin(x)/x, x, 0)Output:
Integration
Use integrate for both definite and indefinite integrals.
integrate(x**2, x)Output:
integrate(exp(-x), (x, 0, oo))Output:
Series Expansion
Find the Taylor/Maclaurin series using series(function, variable, point, order).
series(exp(x), x, 0, 4)Output:
Differential Equations
Use dsolve alongside Eq and y_func(t) to solve ODEs.
dsolve(Eq(y_func(t).diff(t), -3*y_func(t)), y_func(t))Output:
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.
solution.rhs on your next line will strip away the
and output only the expression
.
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).
laplace(exp(-2*t))Output:
Partial Fractions
Use apart to break down complex rational expressions.
apart(1/((x - 1)*(x + 2)))Output:
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.
m = Matrix([[1, 2], [3, 4]]); inv(m)Output:
4. Vector Calculus
Analyze 3D vector fields using the pre-defined variables.
Gradient
Computes the vector derivative of a scalar function.
grad(x**2 + y**2, x, y)Output:
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.
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 andim(z)to extract the imaginary portion. - Magnitude and Angle: Use
Abs(z)with a capital A for the magnitude, andarg(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
Post a Comment