/* sum product */ double VectorSumProduct(const vector<double>& aV1, const vector<double>& aV2) { vector<double> vTmp(aV1); VectorMult(vTmp, aV2); double vRes = 0.; for(size_t i=0; i<vTmp.size(); ++i) vRes += vTmp[i]; return vRes; }
Vector ProjectVector(Vector from, Vector to) { return VectorMult(to, DotProduct(from, to)/DotProduct(to, to)); }
Vector unitaryVector(Vector v) { return VectorMult(v, 1.0/VectorLength(v)); }