Burcin, Thanks.  That sounds a lot like what I'm looking for.  I'd be
interested in it.  And, I'm sure that I'm not alone in saying that
even if it's inefficient it might be worthwhile making an optional
spkg for it.

Victor

On Dec 31, 3:42 pm, Burcin Erocal <[email protected]> wrote:
> Hi,
>
> On Thu, 31 Dec 2009 08:37:55 -0800 (PST)
>
> VictorMiller <[email protected]> wrote:
> > Is there any easy way of building up what I'd call a ring of
> > exponentials (maybe there's a better word)?  For example I'd like to
> > work in the ring QQ[[2^j for j in Integers()]]: the ring with
> > coefficients in Q and elements 2^j where j is an integer (or possibly
> > just a non-negative integer).  Such things arise naturally when
> > considering difference equations.  Such a ring should also have a
> > difference operator Delta(f)(x) := f(x+1)-f(x).  In fact the ring that
> > I mentioned might also be embedded in an even bigger ring -- of all
> > functions
>
> > f: Integers() --> QQ
>
> > Has anybody built such a thing?
>
> I have implemented special difference fields, so called PiSigma
> Fields [1], which can be used to model sums and products.
>
> [1]http://doi.acm.org/10.1145/322248.322255
>
> I work with the shift operator \sigma, which is the mapping x |-> x+1,
> and not Delta as you describe.
>
> Since 2^j is a product, namely \prod_{i=1}^j 2, this can be modeled in
> a PiSigmaField:
>
> sage: from karr.pi_sigma_field import PiSigmaField
> sage: K.<j> = PiSigmaField(QQ, 1, 1)
> sage: E.<e> = PiSigmaField(K, 2, 0)
>
> Here the arguments to the PiSigmaField constructor specify the base
> field and a,b in the base field such that \sigma(j) = aj + b where j
> is the generator of the extension. Michael Karr shows that most first
> order equations of interest create transcendental extensions of the
> base field which have the same constant field. An interesting
> object which doesn't lead to a transcendental extension is (-1)^n.
>
> In the construction above, we have
>
> sage: sigma = E.sigma()
> sage: sigma
> Ring endomorphism of PiSigmaField with constant field Rational Field
> and tower: [('j', 1, 1), ('e', 2, 0)]
>   Defn: e |--> 2*e
>         j |--> j + 1
> sage: sigma(j)
> j + 1
>
> Solving first order difference equations in such an object is
> equivalent to simplifying indefinite symbolic sums or products. I have
> an implementation of a modified version of Karr's algorithm for this.
>
> It is also possible to solve higher order equations, once we have
> degree bounds for the solutions.
>
> The code is for experimentation only and far from being efficient.
> This is the main reason I didn't try to submit it for inclusion in Sage
> so far. I can make it available if you're interested though.
>
> Cheers,
> Burcin

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to