# Is there a package for "simple" polynomials?

**URL:** <https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560>\
**Category:** General Usage\
**Tags:** package\
**Created:** [January 26, 2023, 8:53am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560 "2023-01-26T08:53:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [January 26, 2023, 8:53am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/1 "2023-01-26T08:53:50Z")

</div>

Hello,

I recently implemented some multivariate polynomials with R & C++ and I observed this implementation is faster than my Julia implementation. But in Julia I use **TypedPolynomials.jl** (or a related package, don’t remember) which allows much more, e.g. symbolic coefficients. So the comparison makes no sense somehow.

Thus I think it would be worth to implement my method in Julia. But I don’t want to reinvent the wheel: does there already exist a package for “simple” multivariate polynomials, faster than **TypedPolynomials.jl** and related packages? I mean polynomials with numerical coefficients only (double or rational).

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [January 26, 2023, 9:56am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/2 "2023-01-26T09:56:46Z")

</div>

If you are using `TypedPolynomials` presumably you’ve seen the readme of `MultivariatePolynomials`:

> **[GitHub - JuliaAlgebra/MultivariatePolynomials.jl: Multivariate polynomials...](https://github.com/JuliaAlgebra/MultivariatePolynomials.jl)**
>
> Multivariate polynomials interface. Contribute to JuliaAlgebra/MultivariatePolynomials.jl development by creating an account on GitHub.

which mentiones `FixedPolynomials` for “fast evaluation of multivariate polynomials”?

To get better responses you’ll probably have to provide a bit of an MWE in Julia and R/C++ of what exactly it is you are trying to do.

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [January 26, 2023, 10:04am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/3 "2023-01-26T10:04:11Z")

</div>

Thanks, will take a look.

This is for my package [JackPolynomials.jl](https://github.com/stla/JackPolynomials.jl).

---

<div class="post-metadata">

**Author:** ![Jean\_Michel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jean_michel/32/8282_2.png) [@Jean\_Michel](https://discourse.julialang.org/u/Jean_Michel)\
**Post date:** [January 26, 2023, 10:10am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/4 "2023-01-26T10:10:25Z")

</div>

You might also have a look at [GitHub - jmichel7/PuiseuxPolynomials.jl: Multivariate (Puiseux) polynomials and rational fractions](https://github.com/jmichel7/PuiseuxPolynomials.jl)

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [January 26, 2023, 10:28am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/5 "2023-01-26T10:28:03Z")

</div>

Thanks.

**FixedPolynomials** will change nothing because it is for fast _evaluation_ and what I want is the fast construction of a polynomial, not evaluation.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [January 26, 2023, 10:30am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/6 "2023-01-26T10:30:20Z")

</div>

That’s sort of the point I made above: it’s probably most helpful if you show what you are doing in R and what you have tried to do the same in Julia (say using `TypedPolynomials` of `FixedPolynomials`) together with a benchmark, so that people can make more concrete suggestions.

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [January 26, 2023, 10:34am UTC](https://discourse.julialang.org/t/is-there-a-package-for-simple-polynomials/93560/7 "2023-01-26T10:34:44Z")

</div>

I gave the link to my package.

My method (not mine originally I should mention) is simple: a polynomial is represented by a dictionary mapping a vector of exponents to the coefficient of the corresponding term.
