- Notifications
You must be signed in to change notification settings - Fork123
Symbolic expressions, rewriting and simplification
License
JuliaSymbolics/SymbolicUtils.jl
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
For information on using the package,see the stable documentation. Use thein-development documentation for the version ofthe documentation, which contains the unreleased features.
SymbolicUtils.jl provides various utilities for symbolic computing. SymbolicUtils.jl is what one would use to builda Computer Algebra System (CAS). If you're looking for a complete CAS, similar to SymPy or Mathematica, seeSymbolics.jl. If you want to build a crazy CAS for your weirdOctonian algebras, you've come to the right place.
Symbols in SymbolicUtils carry type information. Operations on them propagate this information.A rule-based rewriting language can be used to find subexpressions that satisfy arbitrary conditions and apply arbitrary transformations on the matches. The library also contains a set of usefulsimplification rules for expressions of numeric symbols and numbers. These can be remixed and extended for special purposes.
If you are a Julia package developer in need of a rule rewriting system for your own types, have a look at theinterfacing guide.
julia>using SymbolicUtilsjulia> SymbolicUtils.show_simplified[]=truejulia>@syms x::Real y::Real z::Complexf(::Number)::Real(x, y, z,f(::Number)::Real)julia>2x^2- y+ x^2(3* (x^2))+ (-1* y)julia>f(sin(x)^2+cos(x)^2)+ zf(1)+ zjulia> r=@rulesinh(im*~x)=>sin(~x)sinh(im*~x)=>sin(~x)julia>r(sinh(im* y))sin(y)julia>simplify(cos(y)^2+sinh(im*y)^2,RuleSet([r]))1
- The pattern matcher is an adaption of the one by Gerald Jay Sussman (as seen in6.945 at MIT), his use of symbolic programming in the bookSICM inspired this package.
- Rewrite.jl andSimplify.jl byHarrison Grodin also inspired this package.
About
Symbolic expressions, rewriting and simplification
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.