Skip to content

qu1x/vee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vee

Vector Expression Emitter (VEE): Geometric Algebra Code Generator

Build Documentation Downloads Version Rust License

The goal of this crate is to generate optimized code for geometric algebra flavors.

Features

  • Uniquely reduce symbolic multivector expressions.
  • Generate expressions in text form.
  • Generate expressions in DOT form (i.e., text/vnd.graphviz).
  • Eliminate orthonormalization conditions from expressions using reflection/projection operator by factoring pinned symbols, GCD coefficients, and predominant signs.
  • Evaluate symbols as rationals.
  • Count operations (i.e., multiplications and additions).
  • Define the metric-agnostic basis (i.e., elliptic, parabolic, hyperbolic) and the multivector entities of the projective geometric algebra (PGA) for dimensions D = N + 1 < 8.

Roadmap

  • Further optimize expressions to reduce operation count by domain-specific common subexpression elimination (CSE) targeting exterior products.
  • Generate expressions in LaTeX and code form.
  • Define other geometric algebra flavors.

See the release history to keep track of the development.

Pseudo-Local Documentation Builds

Build the documentation with cargo-tex. Note that navigating the documentation requires web access as KaTeX is embedded via remote CDN.

cargo tex --open

License

Copyright © 2025 Rouven Spreckels [email protected]

Licensed under the terms of the MPL-2.0.

Contribution

Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Covered Software by You shall be licensed as above, without any additional terms or conditions.

About

Vector Expression Emitter (VEE): Geometric Algebra Code Generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages