pub trait Vector { type Algebra; // Required method fn hat(&self) -> Self::Algebra; }
lie algebra vector representation
algebra type
map vector to algebra