dot product of vectors code example
Example 1: dot product ocaml
let rec safe_dot_product (vect1: int list) (vect2: int list) : int option =
match (vect1, vect2) with
| [],[] -> Some 0
| [],_ -> None
| _,[] -> None
| (x::xs, y::ys) ->
match safe_dot_product xs ys with
| None -> None
| Some m -> Some ((x*y) + m)
Example 2: dot product
Let a be a vector with coordinates (a1, a2, a3)
Let b be a vector with coordinates (b1, b2, b3)
Dot Product:
<a1, a2, a3> • <b1, b2, b3> = a1*b1 + a2*b2 + a3*b3
a • b = |a||b|cosθ, where θ is the angle between the two vectors