Task

Create a function/use an in-built function, to compute the   dot product,   also known as the   scalar product   of two vectors.

If possible, make the vectors of arbitrary length.



As an example, compute the dot product of the vectors:

     [1,  3, -5]       and 
     [4, -2, -1]   


If implementing the dot product of two vectors directly:

   each vector must be the same length
   multiply corresponding terms from each vector
   sum the products   (to produce the answer)


Related task

   Vector products


defmodule Vector do
  def dot_product(a,b) when length(a)==length(b), do: dot_product(a,b,0)
  def dot_product(_,_) do
    raise ArgumentError, message: "Vectors must have the same length."
  end
 
  defp dot_product([],[],product), do: product
  defp dot_product([h1|t1], [h2|t2], product), do: dot_product(t1, t2, product+h1*h2)
end
 
IO.puts Vector.dot_product([1,3,-5],[4,-2,-1])