Skip to content
/ gafo Public

Geometric Algebras Fast Operations - A multibackend geometric algebras python framework with support for differentiation and machine learning

Notifications You must be signed in to change notification settings

RorroArt/gafo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geometric Algebras Fast Operations (GAFO)

This is a small library to implement fast and flexible and differentiable geometric algebra operations. Initially it will be built on top of jax and numpy. However, it will eventually support backend such as C, CUDA, Triton, Metal, or OpenCL.

Goal

The principal purpose of the library is to be use for the implementations of neural networks that operate in geometriic algebras. Mainly the goal is to have an easy of implementing the ideas described in the following papers:

Then, the second main goal is to optimize the primitive operations of geometric algebras such as the geometric and exterior products.

Usage

Instalation

  1. Clone the repo
git clone <repo-link>
  1. Install Requ

References

Citing your references is cool, this is why I wanted to provide the list of wonderful frameworks, libraries, papers, and repos that inspired this project.

TODO

  • Initial Commit

    • Implement autograd using the GRAD wrapper
  • Add axis control and write good tests

  • Compress and handle shapes commit

    • Projective GA
  • Mini Equi-MLP Commit (milestone)

    • Trainable MLP
    • Test Equivariant
  • NN module Commit

    • Equi-MLP layer
    • Haiku wrapper
    • Torch wrapper
    • Attention, LayerNorm, Clifford Convolution
  • C Commit (Let the optimization Begin!!) (Beat numpy )

    • Test operations in C
    • Add C backend (hard)
  • Metal Commit (beat C in Mac)

    • Operations in Metal
    • Add Metal Backend
  • Triton commit (beat jax and torch in Nvidia GPU)

    • Operations in Triton
    • Add Triton Backend

About

Geometric Algebras Fast Operations - A multibackend geometric algebras python framework with support for differentiation and machine learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages