I tried sending a response a while ago, but it didn't seem to get
through.

I'm including a response to David Kohel's e-mail at the bottom of
this.

> Congratulations on the new p-adic model. This really looks very
> promising and extensible.

Thanks.

>  - It should be possible to create elements with a given precision,
> without the overhead of first creating the elements to the entire
> "cap": If you don't know the precision you'll need yet, you would
> probably create a ring with a huge cap and just create all your
> elements with way lower precision (having a huge cap floating around
> should not be very costly). You can just lift your elements to higher
> precision when it turns out you need more.

I'm working on this now.  It should be done tonight.

>  - Currently trying to create an element in a "lazy" ring leads to a
> Exception (click to the left for traceback):
> File "integer.pyx", line 669, in integer.Integer.__pow__
> TypeError: exponent (=lazy) must be an integer
> Coerce your numbers to real or complex numbers first.
> (that's the pyrex "**" thing I guess)

What code did you run to try to create the lazy element?

>  - We're going to need a "lifttoprecision" method that returns an
> element with a changed precision. For lowering the precision you
> already have add_bigoh, but one needs to be able to obtain a lift of
> an element too (for instance, if you want to increase precision using
> newton iteration, you need to create the room first)

Agreed.  That will go on the TODO list.

>  - I assume the ringextension is just a rough first draft? The
> following was rather disconcerting:
>
> sage: Zp=pAdicRing(3)
> sage: ZpX.<X>=Zp[]
> sage: R=pAdicRingExtension(X^2-3)
> sage: R.uniformiser();
> 3 + O(3^21)

Yes, padic_ring_extension.py was an initial attempt that we abandoned
halfway through to implement unramified_ring_extension directly.
Ramified extensions are not currently implemented.

> In general, the ramified extensions cannot completely be implemented
> via polynomial quotient rings.

Why not?  Can't we just use an Eisenstein polynomial f(x) and have x
be the uniformizer?  If the user wants to use a different polynomial,
we convert between x and the user defined variables...

> You'll find relating precisions in
> the extensions with precisions in the base ring to be a general
> headache.

I haven't yet thought about it much, but I believe you.

> Another thing:
>
> R.<a>=pAdicRingExtension(X^2-3)
>
> throws an error at the moment (we cannot name the new generator!)

See the comment above.

> Uniqueness of rings:
>
> in the future, I'm sure we'll be able to ask for:
>
> K.<i>=NumberField(x^2+1)
> Q5a,KtoQ5a=Completion(K,Place(2+i))
> Q5b,KtoQ5b=Completion(K,Place(2-i))
>
> Are Q5a, Q5b going to be the same ring with all the difference
> relegated to the embedding maps of K?
> Are Q5a, Q5b going to have coersions from K?
> Are Q5a, Q5b going to be wrapper classes around the same pAdicField(5)
> to distinguish their relation to K?

We haven't yet decided how to do this.  Generally, we're trying to
have fields be uniquely determined by the parameters that define
them.  We could have no automatic coercion from the number field to
the localization and have the user have to use __call__ instead.
Maybe syntax like def __call__(self, x, absprec = None, place = None)
where place determines the embedding of K into Q5?  Feel free to share
any thoughts you have on this.

And now, David Kohel's request...
> Another feature that I find extremely useful are the quotient rings
> (currently not implemented).
> This allows one to work in a well-defined ring, and control precision
> precisely.

What do you mean by quotient rings?  Are you talking about finite
extensions of Z/p^nZ?
David


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to