All Projects → JuliaSymbolics → Symbolics.jl

JuliaSymbolics / Symbolics.jl

Licence: other
A fast and modern CAS for a fast and modern language.

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Symbolics.jl

Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-95.86%)
Mutual labels:  high-performance, parallel-computing
Geatpy
Evolutionary algorithm toolbox and framework with high performance for Python
Stars: ✭ 990 (+127.59%)
Mutual labels:  parallel-computing, high-performance
Domains
A computational algebra system in Smalltalk.
Stars: ✭ 124 (-71.49%)
Mutual labels:  mathematics, cas
Exprtk
C++ Mathematical Expression Parsing And Evaluation Library
Stars: ✭ 301 (-30.8%)
Mutual labels:  mathematics, high-performance
Fastd
🚀 A high performance PHP API framework.
Stars: ✭ 423 (-2.76%)
Mutual labels:  high-performance
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (-11.49%)
Mutual labels:  cas
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (-12.41%)
Mutual labels:  mathematics
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (-13.33%)
Mutual labels:  high-performance
Tensorbase
TensorBase BE is building a high performance, cloud neutral bigdata warehouse for SMEs fully in Rust.
Stars: ✭ 440 (+1.15%)
Mutual labels:  high-performance
Math Worksheet Generator
Create basic addition, subtraction, multiplication and division practice questions with the answer sheet
Stars: ✭ 438 (+0.69%)
Mutual labels:  mathematics
Jsoniter Scala
Scala macros for compile-time generation of safe and ultra-fast JSON codecs
Stars: ✭ 410 (-5.75%)
Mutual labels:  high-performance
Nebula
Nebula is a powerful framwork for building highly concurrent, distributed, and resilient message-driven applications for C++.
Stars: ✭ 385 (-11.49%)
Mutual labels:  high-performance
Librmath.js
Javascript Pure Implementation of Statistical R "core" numerical libRmath.so
Stars: ✭ 425 (-2.3%)
Mutual labels:  mathematics
Dynamicalsystems.jl
Award winning software library for nonlinear dynamics
Stars: ✭ 381 (-12.41%)
Mutual labels:  mathematics
Teaching
Teaching Materials for Dr. Waleed A. Yousef
Stars: ✭ 435 (+0%)
Mutual labels:  mathematics
Sharedhashfile
Share Hash Tables With Stable Key Hints Stored In Memory Mapped Files Between Arbitrary Processes
Stars: ✭ 380 (-12.64%)
Mutual labels:  high-performance
Post Me
📩 Use web Workers and other Windows through a simple Promise API
Stars: ✭ 398 (-8.51%)
Mutual labels:  parallel-computing
Tempesta
The Linux Application Delivery Controller
Stars: ✭ 429 (-1.38%)
Mutual labels:  high-performance
Libcopp
cross-platform coroutine library in c++
Stars: ✭ 398 (-8.51%)
Mutual labels:  high-performance
Mpi4py
Python bindings for MPI
Stars: ✭ 388 (-10.8%)
Mutual labels:  parallel-computing

Symbolics.jl

Github Action CI Coverage Status Stable Dev

Symbolics.jl is a fast and modern Computer Algebra System (CAS) for a fast and modern programming language (Julia). The goal is to have a high-performance and parallelized symbolic algebra system that is directly extendable in the same language as the users.

Installation

To install Symbolics.jl, use the Julia package manager:

using Pkg
Pkg.add("Symbolics")

Documentation

For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation which contains the unreleased features.

Relationship to Other Packages

  • SymbolicUtils.jl: This is a rule-rewriting system that is the core of Symbolics.jl. Symbolics.jl builds off of SymbolicUtils.jl to extend it to a whole symbolic algebra system, complete with support for differentation, solving symbolic systems of equations, etc. If you're looking for the barebones to build a new CAS for specific algebras, SymbolicUtils.jl is that foundation. Otherwise, Symbolics.jl is for you.
  • ModelingToolkit.jl: This is a symbolic-numeric modeling system for the SciML ecosystem. It heavily uses Symbolics.jl for its representation of symbolic equations along with tools like differentiation, and adds the representation of common modeling systems like ODEs, SDEs, and more.

Example

using Symbolics

@variables t x y
D = Differential(t)

z = t + t^2
D(z) # symbolic representation of derivative(t + t ^ 2, t)
expand_derivatives(D(z)) # 1 + 2t

Symbolics.jacobian([x+x*y,x^2+y],[x,y])

#2×2 Matrix{Num}:
# 1 + y  x
#    2x  1

B = simplify.([t^2+t+t^2  2t+4t
           x+y+y+2t   x^2 - x^2 + y^2])

#2×2 Matrix{Num}:
#   t + 2(t^2)   6t
# x + 2(t + y)  y^2

simplify.(substitute.(B,(Dict(x=>y^2),)))

#2×2 Matrix{Num}:
#     t + 2(t^2)   6t
# y^2 + 2(t + y)  y^2

substitute.(B,(Dict(x=>2.0,y=>3.0,t=>4.0),))

#2×2 Matrix{Num}:
# 36.0  24.0
# 16.0   9.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].