victorlei/smop — pull request #27 by perimosocordiae (2014-01-20 20:09:52+00:00)
Title: fixing dot/times issue (#11)

Previously, the matlab code `a .* b` would turn into `a.dot(b)`. Now, it's correctly represented as an element-wise operation (`a * b`).

This also changes a matlab `a * b` into `a.dot(b)`, which is correct when `a` and `b` are matrices, but incorrect when either or both are scalars. Without type information, it's impossible to tell, so I opted for `np.dot` because it will throw an error on bad inputs.

The other option is to move all numpy arrays to numpy matrices, which use `*` for matrix multiplication. They're not as nice in many respects, but it would potentially clear up this problem.