Perhaps a relevant analogy is:
sage: u = RR(-1)
sage: sqrt(u)
1.00000000000000*I
sage: sqrt(u).parent()
Complex Field with 53 bits of precision
where the choice of one of the two square roots of -1 is in some sense not
natural, but we make it anyway.
Also, one needs to decide what happens when taking an n-th root if n is not
invertible in the base ring, or if it is zero in the base ring.
Anyway, this becomes a more meaningful question once the ring of Puiseux
series become available in Sage!
Kiran
On Thursday, December 21, 2017 at 3:59:45 AM UTC-8, John Cremona wrote:
>
> I agree that the behaviour you would like is desirable in some
> circumstances, but possibly not all. Note that to get the square root of
> your power series, as well as adjoining t^{1/2} when the valuation is odd,
> you also need to adjoin the square root of the leading coefficient (if it
> is not a square). In your example the square roots are power series in
> t^{1/2} with coefficients in QQ(\sqrt{2}). So you could argue that you
> would be making a degree 4 extension to get a square root, which is
> overkill. (In an analogous way perhaps some people might extend Q to get
> (-2).sqrt() by adjoinging I=sqrt(-1) and sqrt(2), and say that the answer
> is sqrt(2)*I. I know that I would not give that as the answer, but I bet
> many people who are not number theorists would "simplify" sqrt(-2) like
> that).
>
> Perhaps the simplest quadratic extension for your example would be QQ[[s]]
> with s^2=2*t. How about that as a compromise? i.e. if the lowest order
> term is not an n'th power then adjoin its n'th root?
>
> John
>
> On 21 December 2017 at 11:17, Vincent Delecroix <[email protected]
> <javascript:>> wrote:
>
>> Dear all,
>>
>> I might introduce a non backward incompatible change for square root (and
>> more generally n-th roots) of power series.
>>
>> While working on [1] I stumbled on a weird implementation of square root
>> for power series [2]. Namely, when extend=True it might just return a
>> formal element p so that p^2 is the initial series (example at [3])
>>
>> sage: K.<t> = PowerSeriesRing(QQ, 5)
>> sage: f = 2*t + t^3 + O(t^4)
>> sage: s = f.sqrt(extend=True, name='sqrtf'); s
>> sqrtf
>> sage: s^2
>> 2*t + t^3 + O(t^4)
>>
>> A much more meaningful answer is to return a Puiseux series in t^(1/2)
>> which is the natural algebraic closure of power series (at least in
>> characteristic zero). Of course, I am aware that Puiseux series are not yet
>> there... and this is one of our oldest open ticket [4].
>>
>> Anybody disagree?
>>
>> [1] https://trac.sagemath.org/ticket/10720
>>
>> [2]
>> https://github.com/sagemath/sagetrac-mirror/blob/master/src/sage/rings/power_series_ring_element.pyx#L1186
>>
>> [3]
>> https://github.com/sagemath/sagetrac-mirror/blob/master/src/sage/rings/power_series_ring_element.pyx#L1253
>>
>> [4] https://trac.sagemath.org/ticket/4618
>>
>> Vincent
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-nt" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send an email to [email protected]
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/sage-nt.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/sage-nt.
For more options, visit https://groups.google.com/d/optout.