This needs to be very strongly emphasized, and I'm not sure it's the right way to do things.  Multiplication elementwise can be useful; I think a separate operator should be used for convolution.  Unfortunately, `*` is the mathematical notation used for convolution, so there's no obvious choice.  I'd prefer to see `*` strictly represent multiplication, but `convolve(kernel1,kernel2)` should work as expected (which may involve overloading the convolve function...)