From: Artur P. <art...@gm...> - 2008-07-10 10:11:11
|
Hello Daniel Once again I manage to solve the problem. When I was trying to make a simple program that mimics the problem I have, to send you, as you asked, I found the problem. Maybe there is a bug with pysparse or the problem is mine. The simplest program is: import numpy import pysparse GN = numpy.array([0,1,2,3]) B = pysparse.spmatrix.ll_mat(10, 10, 10) for i in range(0,2): B[GN[i], GN[i]] += 10 print B If you do this it works. But if you use: GN = numpy.array([0,1,2,3], dtype="int32") It gives the error I stated. If one prints the dtype of GN of the first code, it states that it is int64. Hence the problem is that one cannot give in32 as an index to a ll_mat on a 64bit machine, or at least on mine. Once again thank you for your help! -artur palha On Wed, Jul 9, 2008 at 3:16 PM, Artur Palha <art...@gm...> wrote: > Thank you for the help, again. > > The error it gives is: > > IndexError: first index is invalid > > And the error comes up when I try to assign a value to an entry of the > B matrix in this way: > > B[ GN[e,n,m], GN[e,i,j] ] += something > > B is the sparse matrix and GN is a 3d array. > > I have checked that the values of GN are correct. The exact same code > works on another machine. I even tried a simpler code and it gives the > same error. The strange thing is that if I try to do it in ipython, > line by line, it works. Even if I assign a the value of GN to another > variable, as: > > a = GN[e,n,m] > b = GN[e,i,j] > > and then try: > > B[a,b] += something > > it does not work also, or if I assing to a and b constant values as: > > a = 1 > b = 2 > > B[a,b] += something > > It only works if I do: > > B[1,2] += something > > Any help? > > Thank you > > -artur palha > > On Thu, Jul 3, 2008 at 6:06 PM, Daniel Wheeler > <dan...@gm...> wrote: >> On Thu, Jul 3, 2008 at 8:50 AM, Artur Palha <art...@gm...> wrote: >>> I hope someone can help me >>> >>> I am trying to compile pysparse on a 64 bit machine with openSuse 10.3. >>> >>> It compiles but gives an error acessing the sparse arrays. >> >> What is the error? I use pysparse on a 64 bit machine without problems. >> >>> I read on >>> the README file that there is an incompatibility issue with pysparse >>> and numpy on 64bit machines and that a patch is needed. >> >> According to the CVS log, the message was there from the initial >> import of pysparse. I'll remove it. >> >>> I have >>> installed version 1.1.0 of Numpy do I need the patch or the problem is >>> somewhere else? >> >> Can you give some more details? >> >> -- >> Daniel Wheeler >> > |