I've not examined all the responses here, but the
answer is likely not particular to square root.
Given a formal taylor series in x a0+a1*x+ ... and a power r which is
not an explicit positive integer, there are 2 courses of action.
1. If a0 is zero, then change the problem to
x* (a1+ a2*x +....) and proceed... to the other course... (unless
a1 is also zero, in which case, repeat. this
course of action..)
2. the rth power of a series with a constant term a0 requires representing
a0^r. Do it.
If there is an external term x, or in general, x^k, you have a term
x^(k*r). If you are
unable to compute rational powers of x or the coefficients because of some
inadequate
mathematical structure, I guess you are stuck.
The computation of such a power is otherwise straightforward. See note
below.
Power/taylor series are important for two reasons: they are another
way of looking at analytic functions, and there are fun things to do
with generating functions. Just because you can say something in
the language of mathematics (or Sage) doesn't mean they are worthy
of spending a second of time on them. I suspect this is one of
those useless expenditures of effort.
Oh, as I've set it out, the result may, in general, be a product then of
x^v and a power series in x.
If you want to multiply through into the power series by x^v, I guess you
can
do that.
Note.. there are algorithms in papers by Brent and by Kung and Traub
for fast manipulation of power series, in case this is not already
being used. e.g.
http://www.eecs.harvard.edu/~htk/publication/1978-jacm-brent-kung.pdf
RJF
On Thursday, December 21, 2017 at 3:19:57 AM UTC-8, vdelecroix 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-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.