<br><br><div class="gmail_quote">On Tue, Feb 3, 2009 at 10:19 AM, Gideon Simpson <span dir="ltr">&lt;<a href="mailto:simpson@math.toronto.edu">simpson@math.toronto.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have an M x N matrix A and two vectors, an M dimensional vector x<br>
and an N dimensional vector y. &nbsp;I would like to be able to do two<br>
things.<br>
<br>
1. &nbsp;Multiply, elementwise, every column of A by x<br>
<br>
2. &nbsp;Multiply, elementwise, every row of A by y.<br>
<br>
What&#39;s the &quot;quick&quot; way to do this in numpy?<br>
</blockquote><div><br><span style="font-family: courier new,monospace;">In [1]: M = ones((3,3))</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">In [2]: x = arange(3)</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">In [3]: M*x</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Out[3]: </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">array([[ 0.,&nbsp; 1.,&nbsp; 2.],</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ 0.,&nbsp; 1.,&nbsp; 2.],</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ 0.,&nbsp; 1.,&nbsp; 2.]])</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">In [4]: x[:,newaxis]*M</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Out[4]: </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">array([[ 0.,&nbsp; 0.,&nbsp; 0.],</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ 1.,&nbsp; 1.,&nbsp; 1.],</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ 2.,&nbsp; 2.,&nbsp; 2.]])</span><br><br>&nbsp;Chuck <br>
</div><br></div><br>