This repository contains a community-enhanced Symbolica library. It adds extra functionality to existing Symbolica types and defines new ones.
Currently, symbolica-community
integrates with the following two packages:
- spenso: perform tensor network computations (see example)
- vakint: compute massive vacuum bubbles (see example)
The community-enhanced version can easily be installed next to a regular Symbolica installation. Make sure to either use the community version or the regular version in your project, as they are incompatible.
This package can be installed for Python >3.5 using pip
:
pip install symbolica-community
or can be manually built using maturin
:
maturin build --release
If you want to use Symbolica as a library in Rust, simply include it in the Cargo.toml
:
[dependencies]
symbolica_community = { git = "https://github.com/benruijl/symbolica_community.git" }
Users can easily contribute Python or Rust code that extends Symbolica's functionality via Pull Requests. All code in this repository is MIT licensed.
Pure Python contributions should go in the python/symbolica_community/[category]
folder, where the category
is for example physics
, chemisty
, etc. All code must be fully typed.
Rust contributions go in src/[category]/myfeature.rs
and potential Python bindings need to be registered in src/[category].rs
All code accepted into the repository will continuously be upgraded to the latest stable version of Symbolica by Ruijl Research (potentially in combination with other contributors).