SymbolicUtils.jl
MLStyle.jl
SymbolicUtils.jl | MLStyle.jl | |
---|---|---|
2 | 5 | |
504 | 393 | |
1.4% | - | |
8.3 | 6.6 | |
8 days ago | 2 months ago | |
Julia | Julia | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SymbolicUtils.jl
- Open Source Math Engine for step-by-step solution?
-
In 2022, the difference between symbolic computing and compiler optimizations will be erased in #julialang. Anyone who can come up with a set of symbolic mathematical rules will automatically receive an optimized compiler pass to build better code
The example is applied to the right-hand side of a generated mass-matrix ODE (DAE) which is then solved using the adaptive time stepping methods of DifferentialEquations.jl. It's a test example that comes from the robotics / rigid body dynamics simulation groups (specifically interested in control) where they before were generating the governing equations with SymPy, and recently switched to try Symbolics.jl (and we got the example because of some performance issues that needed fixing). The comparison is with and without applying the code simplifier before solving. The table shows an average global induced error of 1e-12 when chopping off the 1e-11 * sin(x) terms and smaller. Thus there's nothing "competitive" against standard adaptive time stepping here: it's used to enhance the simulation of generated models that are simulated with the adaptive time steppers.
MLStyle.jl
- Mlstyle.jl: “Functionalprogramming.jl”
-
Does anyone really like what Mathematica achieves, but hates the syntax?
It seems to have all the lovable traits you stated, except ML style patterns but there's MLStyle developing.
-
What are some of your favourite macros?
@chain and @match.
-
Pattern Matching Accepted for Python
> and we're stuck with an inferior Lisp/ML, especially in the scientific sector.
You will love Julia.
Here is some links:
https://julialang.org/blog/2012/02/why-we-created-julia/
Julia: Dynamism and Performance Reconciled by Design (https://dl.acm.org/doi/pdf/10.1145/3276490)
https://opensourc.es/blog/basics-multiple-dispatch/
And when you start finding things that you miss, Julia and the community got you with excellent Metaprogramming support.
https://github.com/thautwarm/MLStyle.jl
https://github.com/MikeInnes/Lazy.jl
https://github.com/jkrumbiegel/Chain.jl
What are some alternatives?
Symbolics.jl - Symbolic programming for the next generation of numerical software
Match.jl - Advanced Pattern Matching for Julia
Pluto.jl - 🎈 Simple reactive notebooks for Julia
gcc
julia - The Julia Programming Language
flynt - A tool to automatically convert old string literal formatting to f-strings
SciMLBenchmarks.jl - Scientific machine learning (SciML) benchmarks, AI for science, and (differential) equation solvers. Covers Julia, Python (PyTorch, Jax), MATLAB, R
peps - Python Enhancement Proposals
trivia - Pattern Matcher Compatible with Optima
kalk - Scientific calculator with math syntax that supports user-defined variables and functions, complex numbers, and estimation of derivatives and integrals
Chain.jl - A Julia package for piping a value through a series of transformation expressions using a more convenient syntax than Julia's native piping functionality.
Forscape - Scientific computing language