Re: [SciPy-user] Sparse Compilation Issues (again)
Nope, straight checkout from CVS. I had the same thought as you, so I checked it out twice with the same results. I also looked for SuperLU itself, but the only version I found out there was 2.0 which (surprise) doesnt compile with sparse (I think it's bundled with 1.2?)... Another question that's been bugging me now that I've been staring at sparse's source code... it looks to me like it's just a sparse matrix equation solver. I will need to instantiate very large "cubes", say 1e3x1e3x1e4, with low population densities (max around 20%, typically 5-10%). This 1e10 cube doesn't even allocate in Numpy/Scipy (smaller cubes actually crash my Win2K laptop), so I was _hoping_ that scipy.sparse would implement a "default value" array: i.e. the operation: x = zeros([1e3,1e3,1e3]) would be instantaneous as x would be an empty "shell" with 0 as it's default value. However, I don't see a capability like that in scipy.sparse's source code though. Am I missing it? is there anything like this for SciPy/NumPy? Thanks for all your help, Costas
From: Travis Oliphant <oliphant.travis@ieee.org> Reply-To: scipy-user@scipy.net To: scipy-user@scipy.net Subject: Re: [SciPy-user] Sparse Compilation Issues (again) Date: 19 Dec 2002 08:14:10 -0700
On Thu, 2002-12-19 at 01:48, Costas Malamas wrote:
I've been trying to compile sparse on win32 to no avail. I tried both mingw32 with pre-built ATLAS and LAPACK and Cygwin, both with the Scipy
Both setups work OK (well, cluster also fails on Cygwin, but I took it out), and they crash more-or-less with the same error ("parse error before numeric constant", below). Extensive Googling shows that this means a numeric constant is already used somewhere else, but I got no solution to work around it...
Ideas?
Thanks,
Costas
gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-1.3.17-i686-2.2/convo lve.o build/temp.cygwin-1.3.17-i686-2.2/fortranobject.o build/temp.cygwin-1.3.17 -i686-2.2/convolvemodule.o -Lbuild/temp.cygwin-1.3.17-i686-2.2 -L/usr/lib/python 2.2/config -Lbuild/temp.cygwin-1.3.17-i686-2.2 -ldfftpack -lpython2.2 -lc_misc - lcephes -lrootfind -lsuperlu -lmyblas -lg2c -o build/lib.cygwin-1.3.17-i686-2.2/ scipy/fftpack/convolve.dll building 'scipy.sparse._zsuperlu' extension gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -I/usr/include/pyt hon2.2 -c /d/Projects/scipy/scipy_cygwin/sparse/_zsuperlumodule.c -o build/temp. cygwin-1.3.17-i686-2.2/_zsuperlumodule.o In file included from /d/Projects/scipy/scipy_cygwin/sparse/SuperLU/SRC/zsp_defs .h:23, from /d/Projects/scipy/scipy_cygwin/sparse/_zsuperlumodule.c:26 : /d/Projects/scipy/scipy_cygwin/sparse/SuperLU/SRC/supermatrix.h:19:
error before numeric constant /d/Projects/scipy/scipy_cygwin/sparse/SuperLU/SRC/supermatrix.h:21:
CVS. parse parse
error before numeric constant
Are you sure you have the correct CVS files? This is odd for there to be a parse error in SuperLU. Did you modify this file somehow or not get a complete checkout.
You could erase this file and check it out again. You might try that for that whole SuperLU directory.
Good luck,
-Travis
_______________________________________________ SciPy-user mailing list SciPy-user@scipy.net http://www.scipy.net/mailman/listinfo/scipy-user
_________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail
Nope, straight checkout from CVS. I had the same thought as you, so I checked it out twice with the same results. I also looked for SuperLU itself, but the only version I found out there was 2.0 which (surprise) doesnt compile with sparse (I think it's bundled with 1.2?)...
I remember upgrading SuperLU to version 2.0 just a couple of months ago. Is the CVS version not 2.0? Let me check into that.
Another question that's been bugging me now that I've been staring at sparse's source code... it looks to me like it's just a sparse matrix equation solver. I will need to instantiate very large "cubes", say 1e3x1e3x1e4, with low population densities (max around 20%, typically 5-10%). This 1e10 cube doesn't even allocate in Numpy/Scipy (smaller cubes actually crash my Win2K laptop), so I was _hoping_ that scipy.sparse would implement a "default value" array: i.e. the operation: x = zeros([1e3,1e3,1e3])
Ahh. You want something else then. Sparse is not a sparse array, it is only a sparse matrix. Sparse matrices have been well studied and there are many good storage mechanisms and algorithms using them. Sparse arrays, on the other hand are usually just implemented as dictionaries. I know of no sparse array implementation for any array-oriented environment. You could make your own without too much difficulty, supporting just the operations you care about. Which operations do you want to do on these "sparse arrays"? Really, the sparse matrix module in SciPy does not give you much if what you really want is sparse arrays. I'd love to hear of any successes you have in this. -Travis
participants (2)
-
Costas Malamas -
Travis Oliphant