Don't worry about tensor type errors for this project.
goal: rotate embedding vectors in a plane defined by two feature vectors, and then project them back to the embedding space so see what word they most closely resemble.
subgoal: write key test cases for any possible implementation (API) using properties like linearity, associativity, invertibility, etc.
e.g 4 90 degree rotations should be the identity matrix/leave the vector unchanged
matrix should be unitary
for special cases like 3D, can test against known rotation matrices
approches:
## n-dimensional rotation matrix
define an n-dimensional rotation matrix
## rotors
- implement minimal form of geometric algebra using rotor to rotate vectors in a plane
- use rotor to project vectors back to embedding space
- compare rotated vectors to original vectors using cosine similarity
## future work
- reflections
- moebius transformations
- (anti)conformal maps
golang
python