[A86] Re: TI 86 Computer Algebra System


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

[A86] Re: TI 86 Computer Algebra System



RPN or binary trees can be used to represent the expressions inside a CAS.
They're pretty much the same thing if you think about it.  I used binary
trees since they seem easy to work with but recursion does take a lot of
memory.  RPN is definately a much more memory efficient method to implement
a CAS.  My app for the 83+ only differentiated and did some very simple
simplifications, no where near a complete CAS.  I'm not sure there is any
perfect simplification algorithm but theres definately better ones out there
than I ended up implementing.  Differentiation is easy, simplification is
harder, and integration is ridiculously hard (though integration of rational
functions is as easy as factoring, see hermite reduction).  As far as pretty
print goes, I'd say don't waste your time until you get a working cas.
Pretty print is relatively easy but useless if you never implement the CAS
and the CAS of course doesn't necessarily need pretty print.
David(and everyone else who's tried to read symbolic), sorry for my horrible
coding style.

brandon sterner

----- Original Message -----
From: "David Phillips" <david@acz.org>
To: <assembly-86@lists.ticalc.org>
Sent: Tuesday, April 08, 2003 11:01 AM
Subject: [A86] Re: TI 86 Computer Algebra System


> Mok Yi Lang writes:
> > I'm trying to make one.  So far, I have been trying to implement one
> > in VB just to try out functions.  If any one will be willing to help
> > or work together, please reply to this mail.
>
> There is already one for the 83+:
>
> http://www.detachedsolutions.com/symbolic/
>
> I suggest contacting Brandon and porting it to the 86.  I wanted to do
this,
> but ended up not having time.  You'll need to learn a lot about 86
internals
> if you want to integrate it into the OS.
>
> There is a lot more to a CAS than simply implementing RPN for simple
> expressions.  Converting an infix expression to postfix and evaluating it
is
> relatively simple.  It is covered well by chapter 4, section 3 of
> Sedgewick's Algorithms in C.  Simplication is a must for a CAS.  Compare
> your pretty print to the pretty print generated by the 89.
>
> There are references available for implementing a CAS, but they are
> difficult to find.  Kirk Meyer told me there was a book available that
> explained how to implement a CAS, but I don't remember the title.  A good
> reference would be very useful, as the algorithms involved are quite
> complex.
>
> --
> David Phillips <david@acz.org>
> http://david.acz.org/
>
>
>




Follow-Ups: References: