/// <summary> /// Computes the outer product M[i,j] = u[i]*v[j] of this and another vector and stores the result in the result matrix. /// </summary> /// <param name="other">The other vector</param> /// <param name="result">The matrix to store the result of the product.</param> protected void DoOuterProduct(Vector <T> other, Matrix <T> result) { var work = Build.Dense(Count); for (var i = 0; i < other.Count; i++) { DoMultiply(other.At(i), work); result.SetColumn(i, work); } }