# Packages for interval and radius of power series

**URL:** <https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230>\
**Category:** Optimization (Mathematical)\
**Tags:** question, package\
**Created:** [December 4, 2020, 12:10am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230 "2020-12-04T00:10:03Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 12:10am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/1 "2020-12-04T00:10:03Z")

</div>

What packages exist for studying power series(not sure the plural)?

I’m trying to find the formula that originated the series, as well as the radius and interval of convergence.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 3:48am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/2 "2020-12-04T03:48:28Z")

</div>

For finding the Taylor series for a given function at a given point, check out TaylorSeries.jl

---

<div class="post-metadata">

**Author:** ![malacroi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/malacroi/32/19745_2.png) [@malacroi](https://discourse.julialang.org/u/malacroi)\
**Post date:** [December 4, 2020, 4:00am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/3 "2020-12-04T04:00:21Z")

</div>

In what form do you have the series? Any finite list of leading coefficients defines a polynomial with infinite radius of convergence, so you really need some way to construct arbitrary coefficients, or at least a way to show they don’t become zero eventually, before you can investigate radius. If the coefficients are integers, the best tool for series identification is often the (non-Julian) Online Encyclopedia of Integer Sequences \<[oeis.org](http://oeis.org)\>

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 9:58pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/4 "2020-12-04T21:58:45Z")

</div>

Thank’s does it also find the radius of convergence?

```julia
function f(n)
    s = 0.0
    for k = 1:n
      s += 1/(k^2-1)*(x-2)^k
    end
    return s
end

```

I want to be able to solve for when the sum converges.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 10:49pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/5 "2020-12-04T22:49:15Z")

</div>

If you have a formula for the coefficients as a function of n then you can use the Cauchy ratio criterion etc.

---

<div class="post-metadata">

**Author:** ![malacroi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/malacroi/32/19745_2.png) [@malacroi](https://discourse.julialang.org/u/malacroi)\
**Post date:** [December 4, 2020, 10:50pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/6 "2020-12-04T22:50:23Z")

</div>

I think there’s a typo in your formula. The `k=1` term has a division by `(1^2-1)` and there’s some ambiguity about the role of `x` here.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 10:55pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/7 "2020-12-04T22:55:44Z")

</div>

And \*\* is not Julia syntax. And presumably the power of x is k not n?

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 11:23pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/8 "2020-12-04T23:23:53Z")

</div>

that’s what I thought. I’m tring to represent a series like:

```julia
f(x)=sum((x^n)/n) for the limit of n-> infinity,

```

so that I can run a test like

```julia
f(x+1)/f(x)<1

```

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 11:26pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/9 "2020-12-04T23:26:55Z")

</div>

It sounds like you need symbolic manipulation for that, with an explicit formula for the nth coefficient.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 11:32pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/10 "2020-12-04T23:32:58Z")

</div>

that was meant to be a power series, not a taylor series, but yeah. I’ve been using ModelingToolkit, but integrals aren’t developed yet. Since it’s shown as a sum, if there is a way to test a sum at n=infinity, then I should be able to find x s.t. f(x)\<1, using Cauchy.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 11:33pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/11 "2020-12-04T23:33:58Z")

</div>

x is a variable that I want to manipulate, such that f(x)\<1.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 11:35pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/12 "2020-12-04T23:35:32Z")

</div>

I changed it to k. the ‘\*\*’ was a typo meant to be ‘\*’ not ‘^’.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 11:39pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/13 "2020-12-04T23:39:27Z")

</div>

I don’t know a way to do the asymptotic limit k → Inf using ModelingToolkit; you’ll have to do that part by hand.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 4, 2020, 11:47pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/14 "2020-12-04T23:47:10Z")

</div>

Ok, thanks. I can do that. I didn’t think ModelingToolkit had that. I was just trying to see if there was a way that I could get at the stuff inside a sum, or use a limit tool like forward diff.

I’m also not sure what to use to test inequalities

f(x)\<1 for example

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 4, 2020, 11:57pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/15 "2020-12-04T23:57:16Z")

</div>

Again, if you want an analytical result you will need to e.g. solve f(x) = 1 analytically.  
Otherwise you can, in principle, use e.g. IntervalConstraintProgramming.jl to solve the inequality numerically.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 5, 2020, 12:00am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/16 "2020-12-05T00:00:41Z")

</div>

> [@dpsanders](#):
>
> IntervalConstraintProgramming.jl

this looks promissing. The use of interval arithmetic would be good. Someone else suggested using Interval Arithmetic with Roots to find the domain of functions.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 5, 2020, 8:22am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/17 "2020-12-05T08:22:43Z")

</div>

```julia
using Plots
c(n,x)=(x^n)/((2*n)-1)
u(x)=c(Inf,x)*(x-0)^Inf
plot(u)

```

I’m able to plot the area where r converges (u(x))\<1, I’m not sure how to show the domain of this. I think it can be done with IntervalArithmetic.jl.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 7, 2020, 9:13pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/18 "2020-12-07T21:13:27Z")

</div>

Could [Richardson.jl](https://github.com/JuliaMath/Richardson.jl) be used to find the limit of k-\> infinity)?

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 7, 2020, 9:54pm UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/19 "2020-12-07T21:54:44Z")

</div>

I have never used it but it looks like that’s what it’s designed for.

[Please make sure to copy and paste the names of packages correctly always, and preferably provide links.]

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [December 8, 2020, 12:05am UTC](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230/20 "2020-12-08T00:05:44Z")

</div>

done!

[Next page](https://discourse.julialang.org/t/packages-for-interval-and-radius-of-power-series/51230.md?page=2)
