dot product properties differentiation