[A83] Re: TI83 CAS


[Prev][Next][Index][Thread]

[A83] Re: TI83 CAS




Here's just a few ideas I've come up with about it.

TI83 Computer Algebra System
Requirements:
Expansion of equations, for example, binomial expansion
Solving of equations for a single variable (two isn't practical for a TI83)
Factorising of equations (like Factor7, but without the need to enter terms
separately)
Exact answers (eg, display 1.41421356 as the square root of two)
Deriving/Antideriving of equation (eg, antideriving 2x gives x^2+c), not
just a numerical answer between 2 points
Link all the CAS functions into a new menu, possibly accessable by using a
combination of buttons like MirageOS does to load up

Problems:
Only 27k of memory to work with, and practically can only use a percentage
of that
Speed problems; string manipulation takes ages on a TI83
Actually working out how to manipulate the equations
Using letters as constants in equations rather than numbers

CAS Components
General Notes
The CAS would have to probably operate like the TI89.  For example, to
expand a function, use an 'expand(' command.  A program will obviously have
to exist to separate functions from equations, and to parse commands.

Exact Answers
A new, modified mode menu, which allows you to set exact/approx answers,
should be added.  Standand 'exact' numbers could inbuilt into the program,
and small applets could exist to check for various kinds of exact answers.
(ln x,x^½,etc).  The problem will be when you get combinations of these.
For example, ln(x^½).  This problem will have to be overcome.

Expansion/Factorisation
The format of these would have to be similar to that of a TI89, using
commands like 'expand(' and 'factorise(' with an equation following it.
Obviously some kind of algorithm will have to be written for factorising,
possibly something like the one Factor7 is based on.  Binomial theorum or
simply multiplying brackets can be used for expansion.

Solving Equations
This effectively involves getting the calculator to rewrite equations to be
in terms of the variable trying to be solved for.  It could probably be done
by graphing and finding intersects, but to find exact answers, the equation
will probably have to be rearranged.  Remember, an answer may still have a
letter constant in it, which will destroy the idea of graphing it anyway.

Differentiation/Integration
This is one of the harder aspects of the CAS to rewrite.  Basically, it
involves dividing up the equation into separate terms, finding the form of
each term, then finding the numbers/letters and derive/antiderive
accordingly, then recollect all the strings and the display the answer.  The
hardest part of this is to a, get it running at a decent speed (I've gotten
a beta type of this running, but it takes 1-2 minutes for a simple
polynomial expression), and b, to get it to handle letter constants.


If this is at all possible, it would be great, because it would enable some
of the functions usually only available on the more expensive calculators
available to all of us who are stuck with the less powerful TI83s.  (In
Australia, TI89s are banned for the fact they have symbolic manipulation.
Arguably this is the same as what I want to implement on a TI83, but because
it uses the calculator's 'built in functions', it's legal.)

If anyone has any ideas on any parts of this, please reply!
Tim Crockford





Follow-Ups: References: