Skip to content

A community-enhanced version of Symbolica, for modern computer algebra in Python and Rust

License

Notifications You must be signed in to change notification settings

benruijl/symbolica-community

Repository files navigation


logo

Symbolica website Zulip Chat Symbolica website

Community-enhanced Symbolica

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:

Usage

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.

Python

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

Rust

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" }

Contributing

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

Forward compatibility

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).

About

A community-enhanced version of Symbolica, for modern computer algebra in Python and Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published