Crate cycle

source · []
Expand description

Cycle is a symbolic mathematics library based on expression trees that focuses on correct, flexible and comprehensive manipulation of mathematical objects. Cycle can be used to study elementary and advanced mathematics, mostly in applied domains. It is in particular well suited for education and research in many areas, including for example physics, astronomy, biology and artificial intelligence.

Usage

To use cycle, you will need a modern Rust version with Cargo for the compilation and testing,

[dependencies]
cycle = "0.4.0"

Getting started

An extensive tutorial is currently under construction, but you can read the online documentation for the latest release. Note that the library is still in an early phase and API changes are expected.

Citing

We acknowledge the importance of reproducible research, in particular through open-access software. If you used Cycle, we ask that you cite the project in your work.

Modules

Parsing, validation and generation of mathematical expressions.

Generating plots from valued expressions.

Higher order generic mathematical types.

Structs

An indeterminate form.

A rational ℚ.

An arbitrary variable.

Enums

A list of important mathematical constants.

A countable number (excluding irrational and complex numbers).

An abstract structure annotation.

The expression tree.

Traits

A trait for expression manipulation.

A marker trait for expression nodes.

Type Definitions

A recursive Tree expression.

An integer ℤ.

A natural ℕ.

Type alias for a mathematical resulting form.