
AlphaTekk Software

MathSoft89
A comprehensive mathematics toolkit for the TI89.
Note: MathSoft has been discontinued due to the availability of better
software. There are no plans for further updates at this time.
Get the latest version now!

Feature List
Support for Normal and Implicit Differentiation.
Support for anybase logarithms.
Support for the Quadratic Formula.
Support for Polar/Rectangular Coordinate Conversions.
Support for Geometric Figures  Triangles and Rectangles.
General Triangle Functions  Area, Height, Perimeter, and Side Length Solvers.
Equilateral Triangle Functions  Area, Perimeter and Height Solvers.
General Rectangle Functions  Area, Perimeter, Side and Diagonal Length Solvers.
Square Functions  Area, Perimeter, Side and Diagonal Length Solvers.

Revision History
Version 1.1.9a

Fixed coordinate conversions. It didn't use the correct function to
convert between polar and rectangular coordinates.
Version 1.1.9
 Restructured Geometry Menus.
 Added Perimeter Solver to Triangle functions.
 Optimized code A LOT.
 Added Diagonal and Side Length solvers to Square and Rectangle functions.
 Added global configuration menu to main section.
Version 1.1.8a

Fixed bug where it would solve second implicit derivatives incorrectly
if there was any subtraction in the equation.

Fixed TriangleArea bug where it used the wrong formula and thus
always gave the wrong answer.
Version 1.1.8
 Added Quadratic Formula Solver.
 Restructure Menu again. F1 Solvers has the Differentiation, Quadratic Formula, Logarithm Support, and Coordinate Conversions
 Added Rectangular/Polar Coordinate Conversions
Version 1.1.7
 Added base n logarithm support
 Restructured Main Menu
 Derivatives is now under Calculus Menu
 Base n logarithms are under the Algebra Menu
 Geometry is now the F3 menu
 Exit Program is now F4
 Added support for nth order derivatives under Normal Differentiation
 Added fractional program support

This is the newest and probably one of the nicest features of MathSoft89. It is the
ability to take out things that you don't need or want and still be able to use other
parts of the program.

The total program in with all features is about 20.16 kilobytes of memory, a small
amount compared to the total on the TI89. However, I predict that this 500k of memory
will not prove to be an indefinite supply forever. To help with this problem, I have
structured the program to where you can remove the pieces you don't want or need in the
program and the program will simply display an error message if you try to use these
features and explain what you can do if you want to put them back on the calculator.

You MUST install at least the MathSoft() and the common() programs. They are required
for ALL other aspects of the program. If all you have are these two programs, MathSoft89
will be very useless, but you can do it that way.

Differentiation Support  For Normal and 1stOrder Implicit Differentiation support, you
must install the deriv() program. For 2ndOrder implicit differentiation support, you must
also install the makemono() and impder() programs.

Base n Logarithm Support  For Base n logarithms, you must have the logbasen() program.

Geometric Figures  To use any geometry figure functions, you must have the geometry()
program and the remunits() function installed on the calculator. For specific figures, see
below.

General Triangles  To use the General Triangle functions, you must have the tangles()
program installed.

Equilateral Triangles  To use Equilateral Triangle functions, you must have the
etangles() program installed.

Rectangles  To use Rectangle functions, you must have the rtangles() program installed.

Squares  To use Square functions, you must have the squares() program installed.

Other Notes  All Geometry Figure Functions, in addition to their specific program must
have the geometry requirements installed. All functions must have the general requirements
installed. 2ndOrder Implicit Derivatives must also have the basic Differentiation
requirements installed.

What does this mean? It means that if you only want this program for the implicit
differentiation features, you can delete all programs except for MathSoft(), common(),
deriv(), makemono(), and impder(). You would save 11.43 kilobytes of memory by eliminating
the other functions if you didn't need or want them. This is the beauty of this option. I
hope this proves useful.
Version 1.1.6

Added support for SecondOrder Implicit Differentiation. This took a LOT of time and
thought so I hope it works right. :) There are some things it won't do, like if you would
have a x^y or y^x. I'm not sure if this is possible, but I'm not planning on implementing
it unless I find that there are some cases where it can occur.
Version 1.1.5c

Fixed units bug where it would sometimes compound the units.

Appended tarea(), tslength() and theight() back into tangles program. This
should save a little space and load a bit faster.
Version 1.1.5b

Fixed Side Length Solver bug where it would sometimes solve for the wrong variable.

Fixed solve() function problem in Side Length Solver  removed law of cosine
functions to save memory. Condensed code to save memory.

Made certain variables global so that you don't have to set them each time.

Revised program layout to make more readable.

Fixed bug where it wouldn't do variable cleanup if you exited the program from the first dialog box.

Abstracted the mode settings functions to save memory.

Changed programs so they don't delete their variables until you leave the
section so you don't have to enter the same thing over and over.
Version 1.1.5a
 Changed Geometry Menu Names to Triangles and Rectangles.
 Added Display Units and Exact/Approx Mode Settings to Rectangle/Square Functions.
 Added Display Units and Exact/Approx Mode Settings to Triangle Functions.
 Separated Triangle Functions into 3 Programs.
 Changed Side Length Solver to only ask for a and theta if height is not specified.
 Changed Rectangles Menu to put Rectangles above Squares.
 Added units protection in case the user accidentally deleted the units file.
 It is now deleted after every program usage.
Version 1.1.5
 Added support for Equilateral Triangles  Area, Perimeter, Height Solver.
Version 1.1.4
 Added support for general triangles  Area, Side Length Solver, & Height Functions.
Version 1.1.3

Imported Error Handling, Assumption Processing & Application,
and Unit Support for Rectangle Functions

Added Support for Rectangles  Area & Perimeter Functions

Added Informational Displays to Distinguish between Sections
Version 1.1.2
Version 1.1.1a

Fixed minor bug in program where it would cause an
error if you weren't in the right folder.
Version 1.1.1
Version 1.1.0
 Preliminary Geometry Figure Support added for Squares: Perimeter and Area Functions
 Fixed some bugs in the software where it would go to menu options you hadn't selected.
 Set Dialog Box Options to check if user wanted to enter/exit program.
Version 1.0.0
 Normal and Implicit Differentiation supported

Future Additions Planned
Geometric Figure Equations for Area, Volume, Surface Area, Perimeter, etc.
Trigonometric Identities
Secant, Cosecant and Cotangent Functionality
Function Handling for Intercepts, Integration, Area, Arc Length, Slope, etc.
Much much more.

Something which has long annoyed me about the TI89/TI92 built in functions is that
you must enter many extra parameters for several functions when they could be easily
assumed with a question or two.
Assumption Verification is used when the user leaves off an important piece of data
such as a variable. The program assumes a default one, such as x or y, and asks the user
if he/she wishes to use this variable. If so, the variable is entered, otherwise it
returns to where the input is obtained so that the user can try again.
This is the main feature of version 1.1.1 as before, the error handling messages were
rather cryptic. In addition to variable assumption, the program tests for the substitution
of an expression for an equation or vice versa and will solve for this if it be the users
wishes. For example, the Implicit Differentiation Function requires the user to enter an
equation. (one expression = another expression) I found that sometimes, all I needed was
an expression, so I changed this to ask if the user wanted to set the expression equal to
0. If so, it is done, otherwise the program returns to the input screen. This also works
when the user gives and equation and an expression is required. If it be the users wish,
the equation can be set to 0 by taking the right side minus the left side to get an
expression.


