# Symbolics and Polynomial

**URL:** <https://discourse.julialang.org/t/symbolics-and-polynomial/86503>\
**Category:** Modelling & Simulations\
**Tags:** symbolics\
**Created:** [August 29, 2022, 3:15pm UTC](https://discourse.julialang.org/t/symbolics-and-polynomial/86503 "2022-08-29T15:15:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![qwerty](https://avatars.discourse-cdn.com/v4/letter/q/4491bb/32.png) [@qwerty](https://discourse.julialang.org/u/qwerty)\
**Post date:** [August 29, 2022, 3:15pm UTC](https://discourse.julialang.org/t/symbolics-and-polynomial/86503/1 "2022-08-29T15:15:50Z")

</div>

Is there a function that lets you know if a given expression is a polynomial?

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [August 29, 2022, 4:02pm UTC](https://discourse.julialang.org/t/symbolics-and-polynomial/86503/2 "2022-08-29T16:02:03Z")

</div>

The `polynomial_coeffs` function can be used for this.

---

<div class="post-metadata">

**Author:** ![qwerty](https://avatars.discourse-cdn.com/v4/letter/q/4491bb/32.png) [@qwerty](https://discourse.julialang.org/u/qwerty)\
**Post date:** [August 29, 2022, 5:49pm UTC](https://discourse.julialang.org/t/symbolics-and-polynomial/86503/3 "2022-08-29T17:49:17Z")

</div>

This seems to work:

```julia
function isSingleVariablePoly(espr)
    variables = Symbolics.get_variables(espr)
    if !isone(length(variables))
        return false
    end
    x = variables[1]
    Symbolics._iszero(Symbolics.polynomial_coeffs(espr, [x])[2]) ? true : false
end

```

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [August 29, 2022, 7:31pm UTC](https://discourse.julialang.org/t/symbolics-and-polynomial/86503/4 "2022-08-29T19:31:24Z")

</div>

> [@qwerty](#):
>
> `mbol`

That should work. It might be more flexible to allow the user to pass the variables in, such as:

```julia
function is_poly(expr, vars)
       p,r = polynomial_coeffs(expr, vars)
       length(intersect(Symbolics.get_variables(r), vars)) == 0
end

```
