Path: utzoo!attcan!uunet!snorkelwacker!ai-lab!rice-chex!bson From: bson@rice-chex.ai.mit.edu (Jan Brittenson) Newsgroups: comp.sys.handhelds Subject: Re: calculators vs computers Message-ID: <10888@life.ai.mit.edu> Date: 21 Sep 90 13:35:57 GMT References: <1049@helens.Stanford.EDU> Sender: news@ai.mit.edu Organization: nil Lines: 53 In article <1049@helens.Stanford.EDU> zimmer@calvin.stanford.edu (Andrew Zimmerman) writes: > I purchased an HP48sx a couple of months ago to play around with. > Anyway, my question is, "How do people actually use this type of > calculator/computer?" I got my 48 for several reasons. The major is that differentiation is such a menial and boring task, and that the calculator does differentiation and a couple of COLCTs in no time. QUAD, the solver, and matrices are most handy as well. I'm surprised the 48 can't cope with symbolic integration as well, a fair-sized form table and substitution can take you quite far, certainly it's not much more difficult to code substitution or integratiion in parts than chain rule differentiation. The nontrivial cases will always have to be done by hand, anyway. This leads me to a question I'd like to post. It might help answer your question. I just wrote the following simple program to see how feasible it would be to let the calculator handle L'Hopital's rule: << { '&A/&B' 'dX(&A)/dX(&B)' } vMATCH << EVAL COLCT >> IFT >> (slightly modified from my test, but it should work fine) 'd' above refers to the delta character. Now, what I'd like is: - A means of supplying the variable of differentiation ('X' above) as an argument without having to resort to constructing algebraics using strings. I.e. something similar to 'd&S(&A)/d&S(&B)' (see above) where S is a local symbol bound to a name. - A means of telling whether an expression is indeterminable. What can be done, is replacing '&X/&Y' with '&X=&Y', splitting it up with EQ->, separately evaluate the numerator and denominator, and checking for 0/0, inf/inf, 0*inf, etc, where 'inf' would indicate an infinite-result error. A simple solution on HP's behalf would have been to let 0 0 / return the algebraic '0/0', and 1 0 / the name 'n7' (or some other predefined special number) to indicate an infinite result. Only in Symbolic mode, and by EVAL, naturally. (To those not familiar with L'Hopital's rule, the differentiation is to be repeated until the expression takes a determinable form, which is the limit.)