Basic symbolic differentiation is a piece of cake. It’s usually done as
an exercise in Lisp programming, but there’s no reason on earth you
can’t do it in Ruby, or for that matter, any language that supports
recursion. Hell, I’ve seen it done in Fortran!
Symbolic integration is quite a bit more difficult. However, there are
quite a few open-source computer algebra packages you can learn the
algorithms from. There is absolutely no need to spend the money on
Mathematica or Maple – both quite expensive outside of a university –
just to get some integrals done. Check out Maxima and Axiom.
I think a high-school-level differentiation routine would make an
excellent Ruby quiz, now that I think of it.
I can integrate and derive perfectly fine. It’s more of “I just want to
do this” then “Do my homework” program. If I do it, however, I’ll get
extra credit, which is always good.
I guess this is going to be harder than I thought. I’ll have to program
in the chain rule, quotient rule, product rule, and others…
More suggestions are welcome
M. Edward (Ed) Borasky