GitHub Hot Board

GitHub Hot Board · Repo-Archiv

symbolica-dev/symbolica

Symbolica is a high-performance computer algebra library for Python and Rust. Manipulate large expressions, match patterns, and generate optimized numerical code — at unprecedented speed. (Diese Beschreibung stammt vom Repository.)

Datenstand October 27symbolica-dev

Bestplatzierung

#34

Live-Meilensteine

997

Sterne total

52

Forks total

4

Ranking-Tage (30 T.)

4 Tage auf Boards · +1 Sterne in 30 T. · ~+0/TagSpitze 10-26: +14 Tage in Folge

ProjektstatusLizenz: NOASSERTIONLetzter Push: October 26Offene Issues (inkl. PR): 28

Seit 2026-10-25 erfasst; unbekannt = noch nicht erhoben

Badge in dein README · symbolica-dev/symbolica[![Badge in dein README](https://git.vaiox.xyz/api/badge/symbolica-dev/symbolica.svg)](https://git.vaiox.xyz/de/repo/symbolica-dev/symbolica)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/de/repo/symbolica-dev/symbolica"><img src="https://git.vaiox.xyz/api/badge/symbolica-dev/symbolica.svg" alt="Badge in dein README" height="20"></a>

Projektdokument


logo

Symbolica website Zulip Chat Symbolica repository Codecov

Symbolica ⊆ Modern Computer Algebra

Symbolica is a high-performance computer algebra library for Python and Rust. It is built for large expressions, symbolic rewrites, exact polynomial arithmetic, and optimized numerical evaluators.

Trusted by CERN and research groups at ETH Zurich, the University of Zurich, the University of Bern, and Karlsruhe Institute of Technology.

Try the live Jupyter Notebook demo, read the documentation, or see symbolica.io for licensing and support.

Why Symbolica?

  • Native Python and Rust APIs for the same symbolic core
  • Optimized numerical evaluators, with JIT, C++, SIMD, ASM, and CUDA code generation
  • Fast multivariate polynomial arithmetic for large symbolic workloads
  • Exact solutions of polynomial and rational equation systems
  • Pattern matching and rewrites for domain-specific algebra
  • Mixed exact and numerical computation with error propagation
  • Streaming tools for expressions too large to keep in memory
  • Run symbolic computations directly in the browser with WebAssembly

Installation

Visit the Get Started page for detailed installation instructions.

Python

Symbolica can be installed from PyPI using pip:

pip install symbolica

Rust

Add Symbolica to a Rust project:

cargo add symbolica

Example

Go from a physical model to a calibrated result in a few steps. Explore more in the guide.

Pendulum calibration

Start with a pendulum whose restoring torque is controlled by the scale κ:

from symbolica import *

θ, κ = S("θ", "κ")

V = κ*(1 - θ.cos())
τ = -V.derivative(θ)

τ
$$-\kappa \sin\!\left(\theta\right)$$

Expand the torque to get a small-angle model:

τ_small = τ.series(θ, 0, 3)
τ_small
$$-\kappa\theta+\frac{1}{6}\kappa\theta^3+\mathcal{O}\!\left(\theta^4\right)$$

Suppose the scale κ and a sensor offset τ_0 are unknown. Each pair (θ_i, τ_i) is one sensor reading: at angle θ_i, the measured torque is τ_i. Convert the truncated series back to an expression, evaluate it at two measurement angles using replace, and solve the resulting linear system:

τ0, τ1, τ2, θ1, θ2 = S("τ_0", "τ_1", "τ_2", "θ_1", "θ_2")

τ_model = τ_small.to_expression() + τ0

solution = Expression.solve([
    τ_model.replace(θ, θ1) - τ1,
    τ_model.replace(θ, θ2) - τ2,
], [κ, τ0])[0]

κ_fit, τ0_fit = solution[κ], solution[τ0]

κ_fit
$$\frac{6\tau_1-6\tau_2}{-6\theta_1+6\theta_2+\theta_1^3-\theta_2^3}$$

Finally, plug in measured values:

κ_fit.evaluate({
    θ1: 0.10,
    θ2: 0.20,
    τ1: -0.4697,
    τ2: -0.9545,
}).real
4.905227655986509

Development

Follow the development of Symbolica and the open-source spin-off projects numerica, graphica, and symbolica-integrate on Zulip!

Aktuelle Platzierungen

  • 34

    Live-Meilensteine

    997 Sterne · 52 fork · Sterne bis zur nächsten Marke

    Meilensteine →

Verlauf der letzten 30 Tage

Kumulierte Sterne

Platzierungsverlauf

Tägliche Sterne

Rangnachbarn auf demselben Board · Meilensteine

← Zu den Boards

GitHub Hot BoardZeitmaschineEntdecken联系我们 · Contact