Since the ring you want will be an algebra over the reals, the best fit for 
base ring would be the reals.

Now, since it is impossible to represent the real field in practice, there 
are different possible solutions in sage:

RR if you don't care about the lack of exactness
QQ or some extension (like AA) if you want exactness but don't mind the 
lack of transcendentals
SR if you want to allow arbitrary expressions, with the problem of speed 
and maybe the lack of a unique form for each element.

I don't think that you can do much better than that to work with the reals. 
In practice, since in every computation there will only be a finite number 
of symbols involved, it can be done in something like AA(t1,t2,...,tn) (a 
trascendental extension of the algebraic reals) or QQ[a](t1,t2,...,tn) with 
a in AA. But working in those rings can be extremely slow, and you would 
need in advance which numbers would appear, which are algebraic and which 
trascendental and so on. So i wouldn't advise it.
 

El miércoles, 12 de marzo de 2014 20:37:00 UTC+1, Eric Gourgoulhon escribió:
>
> Thanks for your answer and suggestions. 
>
> Best wishes,
>
> Eric.
>
> Le mercredi 12 mars 2014 17:55:46 UTC+1, Nils Bruin a écrit :
>>
>> On Wednesday, March 12, 2014 6:41:07 AM UTC-7, Eric Gourgoulhon wrote:
>>>
>>> The issue here is that CommutativeRing.__init__ requires the argument 
>>> "base_ring" and in the present context, I don't know what to put here: the 
>>> ring C^oo(N) does not depend upon any other ring. Shall I put self, i.e. 
>>> write CommutativeRing.__init__(self, self) ?
>>>
>>
>> Every ring ultimately has ZZ as a base, by virtue of being an additive 
>> group. You could use that. On the other hand, if you expect the thing to be 
>> finitely generated over its base then perhaps the ring should be its own 
>> base (I don't think that's a formal requirement, given that 
>> `ZZ[['x']].base_ring()==ZZ`). This does happen in Sage elsewhere:
>>
>> sage: ZZ.base_ring()
>> Integer Ring
>> sage: QQ.base_ring()
>> Rational Field
>> sage: GF(3).base_ring()
>> Finite Field of size 3
>>
>> On the other hand, if you find it's doable to avoid specifying a base, 
>> perhaps that's the better way to go.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to