Sitemap
This is not a Monad tutorial

Writings, reviews and interviews about programming languages, operating systems, network protocols, artificial intelligence and machine learning

Follow publication

Modeling complexity with Symbolics.jl and ModelingToolkit.jl

10 min readMar 18, 2021

--

What is Symbolics.jl? What are the motivations behind the creation of the system?

What is ModelingToolkit.jl? What are the needs it addresses?

How does acausal modeling relate to tools like Simulink?

Why is symbolic computation needed at all? What are the advantages compared to numerical computation? When is one preferred to the other?

Wolfram Mathematica and SymPy in Python are some of the most popular choices when dealing with symbolic manipulation nowadays. What are the advantages Symbolics.jl offers in comparison to them?

How is ModelingToolkit.jl related to Symbolics.jl? What role does Julia’s composability play in the relationship between the two packages?

How does ModelingToolkit.jl compare to other modeling frameworks such as Modelica and Simulink? How easily would a person with some background on these frameworks adapt to ModelingToolkit.jl?

What are the main challenges to solve in order to build such a high level modeling library?

How is Julia code generated from symbolic expressions?

What are the mechanisms that allow easy model composition with ModelingToolkit.jl?

What are the advantages of symbolic preprocessing of models?

Who are ModelingToolkit.jl and Symbolics.jl aimed to? Beyond academia, do you consider people in the industry might find them useful?

How many people are involved in the projects? What are their backgrounds?

What are the next steps for each project?

--

--

This is not a Monad tutorial
This is not a Monad tutorial

Published in This is not a Monad tutorial

Writings, reviews and interviews about programming languages, operating systems, network protocols, artificial intelligence and machine learning

Federico Carrone
Federico Carrone

Written by Federico Carrone

A happy member of The Erlang, Rust/ML and Lisp Evangelism Strikeforce. Network Protocol’s RFC fanatic. Big Data and Machine Learning

No responses yet