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