# Differentials in ModelingToolkit

**URL:** <https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440>\
**Category:** General Usage\
**Created:** [November 2, 2020, 5:24am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440 "2020-11-02T05:24:38Z")\
**Posts on this page:** 7\
**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:** [November 2, 2020, 5:24am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/1 "2020-11-02T05:24:38Z")

</div>

I’m trying to find the derivative in ModelingToolkit.jl

This is how it was done in SymEngine

```julia
using SymEngine

x=symbols(:x)
diff(4x^3,x)

```

would give 3x^2

How would I do the same thing in ModelingToolkit?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 2, 2020, 7:55am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/2 "2020-11-02T07:55:38Z")

</div>

See the first tutorial: [https://mtk.sciml.ai/dev/tutorials/symbolic\_functions/#Derivatives-1](https://mtk.sciml.ai/dev/tutorials/symbolic_functions/#Derivatives-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:** [November 2, 2020, 10:13pm UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/3 "2020-11-02T22:13:22Z")

</div>

Ok thanks I have it working one thing I noticed

```julia
using Latexify
using ModelingToolkit

@variables x
@derivatives δx'~ x
F(x)=(3x^2+x^3)/x
latexify(expand_derivative(δx(F)))

```

produces an output containing the factor (x^-2) instead of dividing everything by (x^2), which is hardely an issue, except that it won’t latexify as a function.

I’m also not finding that simplification does much.

This expression should reduce to (2x+3).

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 3, 2020, 3:13am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/4 "2020-11-03T03:13:50Z")

</div>

Please open an issue with simplifications you see fail. That is all about tweaking the heuristics, or training a neural network.

---

<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:** [November 3, 2020, 3:50am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/5 "2020-11-03T03:50:26Z")

</div>

I put an issue on GitHub. If it’s for AI I can do it with every problem that isn’t working.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 3, 2020, 4:56am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/6 "2020-11-03T04:56:13Z")

</div>

Right now it’s rule-based, but next summer I hope we start training reinforcement learning and deploy it as one of the simplify options. Some papers suggest it can generally due better if you train it long enough

---

<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:** [November 3, 2020, 5:19am UTC](https://discourse.julialang.org/t/differentials-in-modelingtoolkit/49440/7 "2020-11-03T05:19:35Z")

</div>

I can see that it would. I’d think most of the ones that exist are rule based, but it should be interesting to see how much gets together. I might offer to help if I have time to learn actual coding.
