Об этом проекте

Vector Expression Emitter (VEE) — это генератор кода на базе Rust для геометрической алгебры. Он оптимизирует выражения мультивекторов, уникальным образом сокращая их для достижения алгебраической и структурной эквивалентности. VEE поддерживает генерацию выражений в нескольких форматах: текстовом (Unicode, ASCII, LaTeX), программном (Rust или общие формы), списочном (s-выражения, Scheme, egglog) и древовидном (графы DOT). Он может устранять условия ортонормирования с помощью операторов отражения/проекции, вычислять символы как рациональные числа и подсчитывать количество операций (умножений и сложений). Инструмент определяет независимый от метрики базис для эллиптической, гиперболической и параболической (евклидовой) геометрий в проективной геометрической алгебре (PGA) для размерностей до 8. Будущие разработки включают упрощение выражений через потоки токенов, оптимизацию с использованием egglog для исключения общих подвыражений, генерацию SIMD-кода и поддержку дополнительных вариантов геометрической алгебры.