Skip to content

Commit

Permalink
Merge branch 'master' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
shashi committed Mar 17, 2023
2 parents f03fa6e + 3bad882 commit 2ee927e
Show file tree
Hide file tree
Showing 53 changed files with 969 additions and 393 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/Downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- {user: SciML, repo: Catalyst.jl, group: All}
- {user: SciML, repo: CellMLToolkit.jl, group: All}
- {user: SciML, repo: NeuralPDE.jl, group: NNPDE}
- {user: SciML, repo: DataDrivenDiffEq.jl, group: Standard}
- {user: SciML, repo: DataDrivenDiffEq.jl, group: Core}
- {user: SciML, repo: ModelOrderReduction.jl, group: All}

steps:
Expand Down
14 changes: 5 additions & 9 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name = "Symbolics"
uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7"
authors = ["Shashi Gowda <gowda@mit.edu>"]
version = "4.13.0"
version = "5.1.0"

[deps]
ArrayInterfaceCore = "30b0a656-2188-435a-8636-2ec0e6a096e2"
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b"
Expand All @@ -21,7 +21,6 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
Metatheory = "e9d8d322-4543-424a-9be4-0cc815abe26c"
NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
Expand All @@ -33,25 +32,23 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
SymbolicUtils = "d1185830-fcd6-423d-90d6-eec64667417b"
TermInterface = "8ea1fca8-c5ef-4a55-8b96-4e9afe9c9a3c"
TreeViews = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7"

[compat]
ArrayInterfaceCore = "0.1.1"
ArrayInterface = "6, 7"
ConstructionBase = "1.1, 1.2"
DataStructures = "0.18"
DiffRules = "1.4"
Distributions = "0.23, 0.24, 0.25"
DocStringExtensions = "0.7, 0.8, 0.9"
DomainSets = "0.5"
Groebner = "0.1, 0.2"
Groebner = "0.3"
IfElse = "0.1"
IntervalSets = "0.5, 0.6, 0.7"
LaTeXStrings = "1.3"
LambertW = "0.4.5"
Latexify = "0.11, 0.12, 0.13, 0.14, 0.15"
MacroTools = "0.5"
Metatheory = "1.2.0"
NaNMath = "0.3, 1"
RecipesBase = "1.1"
Reexport = "0.2, 1"
Expand All @@ -62,8 +59,7 @@ SciMLBase = "1.8"
Setfield = "0.7, 0.8, 1"
SpecialFunctions = "0.7, 0.8, 0.9, 0.10, 1.0, 2"
StaticArrays = "1.1"
SymbolicUtils = "0.18, 0.19"
TermInterface = "0.2, 0.3"
SymbolicUtils = "1.0.1"
TreeViews = "0.3"
julia = "1.6"

Expand Down
4 changes: 2 additions & 2 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ Latexify = "0.15"
OrdinaryDiffEq = "6.31"
Plots = "1.36"
StaticArrays = "1.5"
SymbolicUtils = "0.19"
Symbolics = "4.13"
SymbolicUtils = "1"
Symbolics = "5"
6 changes: 5 additions & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,14 @@ makedocs(
#canonical="https://mtk.sciml.ai/stable/"),
pages=[
"Home" => "index.md",
"getting_started.md",
"Tutorials" => Any[
"tutorials/symbolic_functions.md",
"tutorials/auto_parallel.md",
"tutorials/converting_to_C.md"
],
"Examples" => Any[
"examples/perturbation.md"
],
"Manual" => Any[
"manual/variables.md",
"manual/expression_manipulation.md",
Expand All @@ -46,6 +49,7 @@ makedocs(
"manual/arrays.md",
"manual/build_function.md",
"manual/functions.md",
"manual/parsing.md",
"manual/io.md",
"manual/sparsity_detection.md",
"manual/types.md",
Expand Down
Binary file added docs/src/assets/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions docs/src/assets/logo-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/src/assets/logo.png
Binary file not shown.
1 change: 1 addition & 0 deletions docs/src/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 8 additions & 8 deletions docs/src/comparison.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Comparison of Julia's Symbolics.jl vs SymPy for Symbolic Computation

Symbolics.jl is a symbolic modeling language for Julia built in
Symbolics.jl is a symbolic modeling language for Julia, built in
Julia. Its goal is very different from Sympy: it was made to support
symbolic-numerics, the combination of symbolic computing with numerical
methods to allow for extreme performance computing that would not be
possible without modifying the model. Because of this, Symbolics.jl
excels in many areas due to purposeful design decisions:

- Performance: Symbolics.jl is built in Julia, whereas SymPy was
built in Python. Thus the performance bar for Symbolics.jl is
built in Python. Thus, the performance bar for Symbolics.jl is
much higher. Symbolics.jl started because SymPy was far too
slow and SymEngine was far too inflexible for the projects they were
doing. Performance is key to Symbolics.jl. If you find any
performance issues, please file an issue.
- `build_function`: `lambdify` is "fine" for some people, but if you're building
- `build_function`: `lambdify` is fine for some people, but if you're building
a super fast MPI-enabled Julia/C/Fortran simulation code, having a
function that hits the Python interpreter is less than optimal. By
default, `build_function` builds fast JIT-compiled functions due
Expand All @@ -24,25 +24,25 @@ excels in many areas due to purposeful design decisions:
- Parallelism: Symbolics.jl has pervasive parallelism. The
symbolic simplification via [SymbolicUtils.jl](https://github.com/JuliaSymbolics/SymbolicUtils.jl)
has built-in parallelism, Symbolics.jl builds functions that
parallelizes across threads. Symbolics.jl is compatible with GPU libraries like CUDA.jl.
- Extendability: All of Symbolics.jl and its underlying tools are written in
parallelize across threads. Symbolics.jl is compatible with GPU libraries like CUDA.jl.
- Extensible: Symbolics.jl and its underlying tools are written in
pure Julia. Want to add new or better simplification rules? Add some Julia code!
Need to add new derivatives? Add some Julia code! You get the picture. Breaking
down these barriers makes it easier for the user to tailor the program to their
needs and accelerates the development of the library.
- Deep integration with the Julia ecosystem: Symbolics.jl's integration
with neural networks is not the only thing that's deep. Symbolics.jl
is built with the same philosophy as other SciML packages, eschewing
"monorepos" for a distributed development approach that ties together
monorepos for a distributed development approach that ties together
the work of many developers. The differentiation parts utilize tools
from automatic differentiation libraries, all linear algebra functionality
comes from tracing Julia Base itself, symbolic rewriting (simplification
and substitution) comes from
[SymbolicUtils.jl](https://github.com/JuliaSymbolics/SymbolicUtils.jl),
parallelism comes from Julia Base libraries and Dagger.jl, and etc.
parallelism comes from Julia Base libraries, Dagger.jl, etc.
SciML Tools like
[DataDrivenDiffEq.jl](https://datadriven.sciml.ai/dev/) can reconstruct
symbolic expressions from neural networks and data while
symbolic expressions from neural networks and data, while
[NeuralPDE.jl](https://github.com/SciML/NeuralPDE.jl)
can automatically solve partial differential equations from symbolic
descriptions using physics-informed neural networks.
Expand Down
Loading

0 comments on commit 2ee927e

Please sign in to comment.