smplx

Crates.iosmplx
lib.rssmplx
version0.0.1
created_at2024-08-24 15:38:48.72807+00
updated_at2025-02-23 02:02:52.421607+00
descriptionsmplx focuses on the simplex and its applications in mathematics, topology, and other fields.
homepagehttps://github.com/FL03/smplx/wiki
repositoryhttps://github.com/FL03/smplx.git
max_upload_size
id1350376
size81,997
Joe McCain III (FL03)

documentation

README

smplx

crates.io docs.rs license

clippy rust


The library is currently in the early stages of development and is not yet ready for production use.

Welcome to smplx, a topologically oriented crate focused on simplexes and their complexes.

Features

  • Simplex

Background

A simplex describes the smallest (and simplest) polytope in any dimension. More specifically, $n$-simplex $\Delta^n$ is defined to be the $n$-dimensional polytope formed from the convex hull $C$ of its $n+1$ verices where the vertices are affinely independent points $u_0, u_1, \ldots, u_n \in \mathbb{R}^n$.

$C = \biggl{ \sum_{i=0}^{k} \lambda_i v_i : \lambda_i\geq{0} \text{ for all } j \text{ and }\sum_{i=0}^{k} \lambda_i = 1 \biggr}$

Getting Started

Building from the source

Start by cloning the repository

git clone https://github.com/FL03/smplx.git
cd smplx

Build the workspace

cargo build --all-features -r --workspace

Run an exmple

cargo run -p smplx --example {basic|complex|...|etc.}

Usage

Add this to your Cargo.toml:

[dependencies.smplx]
features = ["full"]
version = "0.0.1"

Examples

Simplex

    extern crate smplx;

    use smplx::Simplex;

    fn main() -> Result<(), Box<dyn std::error::Error>> {
        tracing_subscriber::fmt::init();
        tracing::info!("Welcome to smplx!");

        let simplex = Simplex::new().dim(2).with_vertices([0, 1, 2]).build()?;

        Ok(())
    }

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Commit count: 0

cargo fmt