> -----Original Message-----
> From: maxima-bounces at math.utexas.edu
> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of Robert Dodier
> Sent: Tuesday, July 29, 2008 8:14 AM
> To: Barton Willis
>....
But such notation isn't very useful in
> Maxima because of Maxima doesn't handle subscripted symbols
> the same as ordinary ones --- that's a bug IMNSHO, and compared
> to all the other bugs in Maxima, probably not so hard to correct.
The issue here is that the properties of functions are generally stored on
the property lists of
the associated symbols. That is, the simplification for sin() is on the
property list of the
symbol $SIN, in the lisp system. similarly for declarations.
but besselj[0] does not correspond to a lisp symbol, but to a symbolic
expression ((%BESSELJ SIMP ARRAY) 0).
If you want the simplification properties of besselj[0] and besselj[1] to be
entirely separate, referring
to the single symbol $BESSELJ is a problem..
Perhaps all function calls that attempt to get the simplification (or other)
properties of operators
can be made more elaborate, checking for symbol-ness, and otherwise checking
somewhere else (probably
a hash table of some sort.)
Or the use of the lisp global symbol table property lists could be
eliminated in favor of a maxima-specific
hash table (one that could even be bound etc.) which would allow symbols and
non-symbols.
I think the first would add a percentage slowdown to the system and might be
tricky to debug entirely.
The second may be a good idea, but would require some care to get right.
There may be other solutions, too, perhaps allowing for another level of
dispatch to simplifier programs
based on subscripts.
>
> Now there are other functions (e.g. Bessel) which are commonly
> represented with subscripts, yet Maxima wants the symbol without
> a subscript. Ideally those functions would be written with
> subscripts too.
>
> Some specific comments ...
>
> > (0) The subscripts on %f give redundant information. We could have
> > maxtex & displa include these subscipts.
>
> Well, if that's the case, then omit the redundant subscripts from
> the (...) part, not the [...].
>
> > (1) I think gradef & and subscripted functions aren't compatible.
>
> It's a bug that declarations in general cannot be applied to
> subscripted symbols.
>
> > (2) Subscripted functions make everything harder.
> (Subscripted simplifying
> > functions are possible (correct?), but I don't know how it works.)
>
> Well, the way the simplifier is now arranged, simplifications for
> subscripted functions can work; they would be associated with
> MQAPPLY (i.e. the subscripting operator). However if declarations
> could be applied to subscripted symbols, maybe the simplification
> could be associated directly with the function of interest.
>
> I'm know there are a lot of practical difficulties with subscripted
> functions, and precedent for omitting the subscripts. I just wanted
> to air these ideas.
>
> best
>
> Robert Dodier
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>