added dot product, norm, and normalize functions with tests