"Brainy" Functions in DERIVE

Johannn Wiesenbauer
Technical University of Wien, Austria


In contrast to other CAS, self-assignments, i.e. assignments where the variable on the left hand side also occurs in the expression on the right hand side, are not possible in DERIVE. For example, as a consequence of the input:

#1:   a:=1
#2:   a:=2a
the variable a will have the value 2a, instead of the expected value 2. Using undocumented features of DERIVE, there is nevertheless a way to overcome this difficulty. For the example above, it looks like this:
#3: NEWA(u):=a:=u
#4: a:=1
#5: NEWA(2a)
In fact, after simplifying #5 the variable a has the value 2 now.

For the very first time this inconspicuous utility-function NEWA was used by J.Lechner, E.Roanes L.,E.Roanes M. and the author (cf. The DERIVE-NEWSLETTER #25, 15-22) to implement a turtle graphics in DERIVE. In the meantime, it has turned out that a lot of other amazing things can be done with it. In particular, it can be used for storing and retrieving data in the background without the user noticing it. One important application of this feature are "brainy" functions that will memorize the results or previous computations and use them in an intelligent way. Some examples of this sort will be given in my talk.


IMACS ACA'98 Electronic Proceedings