template<class G1,class G2> inline PROMOTE2(typename Vector<G1>::value_type,typename Vector<G2>::value_type) dot (const Vector<G1> &X, const Vector<G2> &Y)
X.Y