<div>Thanks very much. It works.<br><br></div>
<div class="gmail_quote">On Mon, Mar 7, 2011 at 11:53 AM, <span dir="ltr">&lt;<a href="mailto:qubax@gmx.at">qubax@gmx.at</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">for your problem, you can do:<br><br>----------------------------<br><br>import numpy as np<br><br>weights = np.array([1,2])<br>
<br>matrix1 = np.ones((2,3))<br>matrix2 = 2*np.ones((2,3))<br><br>matrices = np.array([matrix1,matrix2])<br><br>weighted_sum = np.tensordot(weights, matrices, (0,0))<br><br>--------------------------<br>
<div>
<div></div>
<div class="h5"><br>On Mon, Mar 07, 2011 at 06:16:15AM -0600, shu wei wrote:<br>&gt;    Hello all,<br>&gt;<br>&gt;    I am new to python and numpy.<br>&gt;    My question is how to sum up N weighted matrices.<br>&gt;    For example w=[1,2] (N=2 case)<br>
&gt;    m1=[1 2 3,<br>&gt;           3 4 5]<br>&gt;<br>&gt;    m2=[3 4 5,<br>&gt;           4 5 6]<br>&gt;    I want to get a matrix Y=w[1]*m1+w[2]*m2 by using a loop.<br>&gt;<br>&gt;    My original problem is like this<br>
&gt;    X=[1 2 3,<br>&gt;         3 4 5,<br>&gt;         4 5 6]<br>&gt;<br>&gt;    a1=[1 2 3]  1st row of X<br>&gt;    m1=a1&#39;*a1 a matirx<br>&gt;    a2=[3 4 5] 2nd row of X<br>&gt;    m2=a2&#39;*a2<br>&gt;    a3=[ 4 5 6] 3rd row of X<br>
&gt;    m3=a3&#39;*a3<br>&gt;<br>&gt;    I want to get Y1=w[1]*m1+w[2]*m2<br>&gt;                          Y2=w[1]*m2+w[2]*m3<br>&gt;    So basically it is rolling and to sum up the weighted matries<br>&gt;    I have a big X, the rolling window is relatively small.<br>
&gt;<br>&gt;    I tried to use<br>&gt;<br>&gt;    sq=np.array([x[i].reshape(-1,1)*x[i] for i in np.arange(0,len(x)]) #<br>&gt;    s=len(x)<br>&gt;    m=np.array([sq[i:i+t] for i in np.arange(0,s-t+1)]) # t is the len(w)<br>
&gt;<br>&gt;    then I was stuck, I tried to use a loop somethig like<br>&gt;    Y=np.array([np.sum(w[i]*m[j,i],axis=0) for i in np.arange(0,t)] )<br>&gt;    Any suggestion is welcome.<br>&gt;<br>&gt;    sue<br><br></div>
</div>&gt; _______________________________________________<br>&gt; NumPy-Discussion mailing list<br>&gt; <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>&gt; <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br><br>--<br>There are two things children should get<br>from their parents: roots and wings.<br><br>The king who needs to remind his people of his rank, is no king.<br><br>A beggar&#39;s mistake harms no one but the beggar. A king&#39;s mistake,<br>
however, harms everyone but the king. Too often, the measure of<br>power lies not in the number who obey your will, but in the number<br>who suffer your stupidity.<br>_______________________________________________<br>NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br><a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br>