geometric_algebra
Klein
geometric_algebra | Klein | |
---|---|---|
2 | 3 | |
42 | 735 | |
- | - | |
5.4 | 0.0 | |
8 months ago | about 1 year ago | |
Rust | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
geometric_algebra
-
Rapier is a set of 2D and 3D physics engines written in Rust
I got sucked down a Geometric Algebra rabbit hole a few months ago, which seems like a remarkably concise and intuitive way to work in a very wide variety of geometries, including 2D, 3D, 4D+, non-euclidean etc. I've wondered if GA would make a good foundation for a physics engine...
There are a few small rust libraries that look interesting [1][2], but none with a lot of traction.
Has anyone looked into this?
[1]: https://crates.io/keywords/geometric-algebra
[2]: https://github.com/Lichtso/geometric_algebra
If you dare, a good place to jump in might be Freya Holmér's Why can't you multiply vectors? - https://www.youtube.com/watch?v=htYh-Tq7ZBI
-
Geometric Algebra to Geometric Computing Software Developers
The GA community in general is very small. So yes, tooling could be better, but IMO that is not even the problem. The lack of understanding how to use it is, because GA is not explicitly taught in schools or universities.
I have written a compiler which generates SIMD ready code for the desired GAs. You can then use that output as a normal library for your application.
https://github.com/Lichtso/geometric_algebra
Klein
-
Planes in 3D Space
For those interested, this appears to be a really high quality library that provides a 3D PGA C++ API:
https://github.com/jeremyong/klein
I've always wanted to find an excuse to rebuild some projects at work around this.
- Blaze: A High Performance C++ Math library
-
The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations
Most high-performance math libraries perform a lot of vectorization (Eigen, etc) under the hood. And you've got stuff like Klein, Vc (which is reminiscent of std::valarray), etc. Then there's OpenMP's #pragma omp simd (assuming version 4.0 or greater).
What are some alternatives?
Decapodes.jl - A framework for composing and simulating multiphysics systems
GLM - OpenGL Mathematics (GLM)
clifford - Geometric Algebra for Python
Vc - SIMD Vector Classes for C++
ganja.js - :triangular_ruler: Javascript Geometric Algebra Generator for Javascript, c++, c#, rust, python. (with operator overloading and algebraic literals) -
OpenBLAS - OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
g3 - Neat 3D math and graphics library
ceres-solver - A large scale non-linear optimization library
gatl - GATL: Geometric Algebra Template Library
MIRACL - MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library is a C software library that is widely regarded by developers as the gold standard open source SDK for elliptic curve cryptography (ECC).
nalgebra - Linear algebra library for Rust.
Eigen