I'm intrigued. I suppose pattern based macros could be used to implement 
operations like + and *, and passing to the field of quotients should formally 
be no different from rational arithmetic. Are you interested in Chebyshev 
polynomials for a particular reason (e.g, applications to differential 
equations) or as part of a more general mathematics library?

I may as well throw in a big item on my "wish list". It would really be nice to 
have a tool for visualizing surfaces defined either explicitly

z = f (x, y)

or implicitly

g(x, y, z) = c

using wire mesh diagrams or a comparable technique. 

But back to polynomials, I think I'll try writing something simple. What would 
be interesting is yo have s nice way of representing algebraic structures in 
Racket so that standard constructs like algebraic extensions such as Q(i) don't 
have to be strongly coupled with the definition of the base ring/field. Maybe 
I'm asking for functors (in the mathematical sense) and categories. 

Sent from my iPhone

On Oct 16, 2012, at 9:08 AM, Neil Toronto <[email protected]> wrote:

> 
> I'd have to have the terms indexed by two different orderings (nondecreasing 
> in x's degree and nondecreasing in y's), or be willing to sort. That seems 
> tricky or slowish, but much better than what I've had in mind. It should also 
> work with other orthogonal bases, like the Chebyshev polynomials, using 
> Clenshaw's algorithm (of which Horner's is a special case).
> 
> To let you know where I'm going with this, I'm considering designs for 
> `math/polynomial'. I want a data type that can represent sparse polynomials 
> over any ring, with any orthogonal basis in that ring. Basic polynomial ops 
> would be +, *, and conversion to another basis or another ring type (e.g. 
> from Exact-Rational to Flonum). A quotient polynomial type would lift 
> polynomial rings to fields.
> 
> I'd also like another basic op to be generating the syntax of a function that 
> evaluates the polynomial. Polynomials could then be built at expansion time - 
> say, by building a Taylor, Chebyshev, or minimax approximation  - and then 
> evaluated quickly at runtime.
> 
> It looks like you know what you're talking about (you probably understood all 
> the preceeding text and can even point out errors :D), so I'd love to hear 
> any ideas you have along these lines.
> 
> Neil ⊥

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to