Skip to content

Carbocarde/VectorAngle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About This Project

Dot products encode a lot of information - one of which is the angle between two vectors. This project aims to discover/document the different ways to calculate the angle between two vectors.

Blog Series

  1. Intro - Dot Product
  2. Method 2 - Change of Basis
  3. Method 3 - Projection
  4. Benchmarking

Current Methods

  1. Dot Product (norm)
  2. Dot Product (mag)
  3. Projection (Writeup about this method)
  4. Dot Product Bin Search (mag)
  5. Projection Bin Search

Future Methods

  1. Change of Basis

TODO

  • Projection Method Writeup
  • Publish Repo
  • Rewrite in C++

Languages

  • Python
    • Has testing for method accuracy and a pytest benchmark.
      • Benchmark is not as accurate as the C++ implementation.
  • C++
    • Is much better for benchmarking.
    • Does not have method accuracy checks (Methods are created/checked in Python and then ported to C++).

About

In search of alternative dot products

Resources

Stars

Watchers

Forks