public static Vector operator *(Vector vector, double val) { EnsureValid(vector); var v = new Vector(vector.NRows); Parallel.For(0, v.NRows, i => v[i] = vector[i] * val); return v; }