package matrix // Vector is just an array of values. type Vector []float64 // DotProduct returns the dot product of two vectors. func (v Vector) DotProduct(v2 Vector) (result float64, err error) { if len(v) != len(v2) { err = ErrDimensionMismatch return } for i := 0; i < len(v); i++ { result = result + (v[i] * v2[i]) } return }