David Novakovic wrote: > Thanks for the help, i've learnt a lot and also figured out something > that does what I want, i'll paste an interactive session below: > > x = zeros((4,7)) > x > array([[0, 0, 0, 0, 0, 0, 0], > [0, 0, 0, 0, 0, 0, 0], > [0, 0, 0, 0, 0, 0, 0], > [0, 0, 0, 0, 0, 0, 0]]) > index = arange(min(x.shape[0], x.shape[1])) > index2 = copy.deepcopy(index) #deep copy may be overkill > for a,b in enumerate(index): > ... index2[a] += a > Turns out this is not good at all. I guess I'm still open to suggestions then :(
Dave > ... > if len(x[:,0]) > len(x[0]): > ... x[index2,index] +=1 > ... else: > ... x[index,index2] +=1 > ... > x > array([[1, 0, 0, 0, 0, 0, 0], > [0, 0, 1, 0, 0, 0, 0], > [0, 0, 0, 0, 1, 0, 0], > [0, 0, 0, 0, 0, 0, 1]]) > > > Thanks for the tips > > Dave Novakovic > > P.S. subscribed to the list now > > Bill Baxter wrote: > >> Forgot to CC you... >> >> ---------- Forwarded message ---------- >> From: Bill Baxter <[EMAIL PROTECTED]> >> Date: Oct 12, 2006 8:58 AM >> Subject: Re: [Numpy-discussion] incrementing along a diagonal >> To: Discussion of Numerical Python >> <numpy-discussion@lists.sourceforge.net> >> >> >> On 10/12/06, David Novakovic <[EMAIL PROTECTED]> wrote: >> >>> Johannes Loehnert wrote: >>> This is very nice, exactly what i want, but it doesnt work for mxn >>> matricies: >>> >>> >>>>>> x = zeros((5,3)) >>>>>> x >>>>>> >>> array([[0, 0, 0], >>> [0, 0, 0], >>> [0, 0, 0], >>> [0, 0, 0], >>> [0, 0, 0]]) >>> >>>>>> index = arange(min(x.shape[0],x.shape[1])) >>>>>> x[index,index] += 1 >>>>>> x >>>>>> >>> array([[1, 0, 0], >>> [0, 1, 0], >>> [0, 0, 1], >>> [0, 0, 0], >>> [0, 0, 0]]) >>> >> Exactly what output are you expecting? That is the definition of the >> 'diagonal' for a non-square matrix. If you're expecting something >> else then what you want is not the diagonal. >> >> >>> Just for reference, this is the line of perl i'm trying to port: >>> >>> >>> like: >>> >>> for index in diag_iter(matrix,*axes): >>> matrix[index] +=1 >>> >> That's not going to change the mathematical definition of the diagonal >> of a non-square matrix. >> >> >>> PS: If anyone would care to link me to the subscription page for the >>> mailing list so you dont have to CC me all the time :) >>> >> Check the bottom of this message. >> >> >>> _______________________________________________ >>> Numpy-discussion mailing list >>> Numpy-discussion@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/numpy-discussion >>> >>> >> --bb >> >> > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Numpy-discussion mailing list > Numpy-discussion@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/numpy-discussion > > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion