some work on arpack
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
Building an arpack extension turned out to be surprisingly simple. For example for dsaupd: f2py -c dsaupd.f -m dsaupd -L/usr/lib/blas/atlas:/usr/lib/lapack/atlas -llapack -lblas -larpack It took me a long time to get the command down to something that simple. Took me a while even to figure out I could just use the arpack library on my computer rather than re-linking all of arpack! I was able to import the dsaupd.so python module just fine and I was also able to call it just fine. I'll have to tweak the pyf file in order to get some proper output. But this gives me confidence that arpack is easy to hook into which is what others have said in the past, but without any experience with f2py I had no idea myself. f2py is awesome, for anyone who doesn't know. Matlab has interfaces for the arpack functions like dsaupd, dseupd, dnaupd, znaupd, zneupd (the mex file documentation claims those are the only ones, but they have more). Matlab has a C interface to these functions in arpackc.mex* and the script eigs.m does the grunt work, providing a very high-level interface as well as doing some linear algebra (the same type of stuff that is done in arpack's examples directory I gather) and various other things. My idea is (if I have time) to write an eigs-like function in python that will only perform a subset of what Matlab's eigs does for. It will, for example, compute a certain number of eigenvalues and eigenvectors for a real, sparse, symmetric matrix (the case I'm interested in)... I hope that this subset-of-matlab's-eigs function will not be too hard to write. Then more functionality can be added on to eigs.py later... Does this make sense? Has anyone else started work on arpack integration at all? -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/612395b66b3e7959997007b342b3688a.jpg?s=120&d=mm&r=g)
Nils Wagner wrote:
Ok it's not ready... gcc: Lib/sandbox/pysparse/src/spmatrixmodule.c In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:17: Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec_transp’: Lib/sandbox/pysparse/src/ll_mat.c:760: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/ll_mat.c:760: error: (Each undeclared identifier is reported only once Lib/sandbox/pysparse/src/ll_mat.c:760: error: for each function it appears in.) Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec’: Lib/sandbox/pysparse/src/ll_mat.c:797: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:18: Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec_transp’: Lib/sandbox/pysparse/src/csr_mat.c:119: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec’: Lib/sandbox/pysparse/src/csr_mat.c:146: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:19: Lib/sandbox/pysparse/src/sss_mat.c: In function ‘SSSMat_matvec’: Lib/sandbox/pysparse/src/sss_mat.c:83: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:17: Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec_transp’: Lib/sandbox/pysparse/src/ll_mat.c:760: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/ll_mat.c:760: error: (Each undeclared identifier is reported only once Lib/sandbox/pysparse/src/ll_mat.c:760: error: for each function it appears in.) Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec’: Lib/sandbox/pysparse/src/ll_mat.c:797: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:18: Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec_transp’: Lib/sandbox/pysparse/src/csr_mat.c:119: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec’: Lib/sandbox/pysparse/src/csr_mat.c:146: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:19: Lib/sandbox/pysparse/src/sss_mat.c: In function ‘SSSMat_matvec’: Lib/sandbox/pysparse/src/sss_mat.c:83: error: ‘CONTIGUOUS’ undeclared (first use in this function) error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fPIC -ILib/sandbox/pysparse/include/ -I/usr/lib64/python2.4/site-packages/numpy/core/include -I/usr/include/python2.4 -c Lib/sandbox/pysparse/src/spmatrixmodule.c -o build/temp.linux-x86_64-2.4/Lib/sandbox/pysparse/src/spmatrixmodule.o" failed with exit status 1 Nils
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Nils Wagner <nwagner@iam.uni-stuttgart.de> wrote:
into scipy). I think there is probably an old post asking the list about sparse stuff and I think Travis had just written it and told me about it... can't remember. Can JDSYM just return the k lowest eigenvalues/eigenvectors? -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/612395b66b3e7959997007b342b3688a.jpg?s=120&d=mm&r=g)
On Wed, 16 Aug 2006 08:08:16 -0700 "David Grant" <davidgrant@gmail.com> wrote:
Yes. See http://people.web.psi.ch/geus/pyfemax/pysparse_examples.html for details. Nils
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Keith Goodman <kwgoodman@gmail.com> wrote:
Real, dense, symmetric, well doesn't scipy already have something for this? I'm honestly not sure on the arpack side of things, I thought arpack was only useful (over other tools) for sparse matrices, I could be wrong. -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Hello all
Maybe SciPy can also do this, but what makes ARPACK useful is that it can get you a few eigenvalues and eigenvectors of a massive matrix without having to have the whole thing in memory. Instead, you provide ARPACK with a function that does A*x on your matrix. ARPACK passes a few x's to your function and a few eigenvalues and eigenvectors fall out. I recently used MATLAB's eigs to do exactly this. I had a dense matrix A with dimensions m x n, where m >> n. I wanted the eigenvalues of A'A (which has dimensions m x m, which is too large to keep in memory). But I could keep A and A' in memory I could quickly calculate A'A*x, which is what ARPACK needs. Cheers, Albert
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Albert Strasheim <fullung@gmail.com> wrote:
Cool, thanks for the info. -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/6a1dc50b8d79fe3b9a5e9f5d8a118901.jpg?s=120&d=mm&r=g)
On 8/15/06, David Grant <davidgrant@gmail.com> wrote:
Did you, or anybody else on the list, have any luck making a numpy version of eigs? ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
Here's something I've been wondering: is it ok to port Matlab functions over to python? If so, then it's maybe an afternoon's work to get eigs working, given eigs.m and python Arpack wrappers. I'm 99% sure it would *not* be kosher to copy-paste their code directly, but it's not a copy paste job because of the differences between Python and .m. So it seems a grayer area to me. --bb On 10/22/06, Keith Goodman <kwgoodman@gmail.com> wrote:
------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/96dd777e397ab128fedab46af97a3a4a.jpg?s=120&d=mm&r=g)
On 10/21/06, Bill Baxter <wbaxter@gmail.com> wrote:
I haven't the faintest idea. What did the EULA say? What about a copyright? This sounds like a job for a lawyer, but I would guess it would be a bad idea unless the code is from a third party with a free license. Chuck ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
On 10/22/06, Charles R Harris <charlesr.harris@gmail.com> wrote:
Gee, there's an idea. :-) ---- from License.txt ---- "Except as expressly provided by this Agreement, including the attached Addendum, Licensee may not adapt, translate, or convert "M-files", "MDL-files" or "P-code" contained in the Programs in order to create software, a principal purpose of which is to perform the same or similar functions as Programs licensed by MathWorks or which is intended to replace any component of the Programs. The Licensee may not incorporate or use "M-files", "P-code", source code, or any other part of the Programs in or as part of another computer program without the consent of MathWorks. A Licensed User may modify pieces of MathWorks' code for the Licensed User's own use. A Licensed User may share such modified code with others provided each recipient is also a Licensed User for the original form of the code. " ------------------------- So. If you're a Matlab licensee it would be ok to use it in your own stuff, but putting it in Numpy is definitely out of the question. --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
![](https://secure.gravatar.com/avatar/af6c39d6943bd4b0e1fde23161e7bb8c.jpg?s=120&d=mm&r=g)
On Sun, Oct 22, 2006 at 09:27:39AM +0900, Bill Baxter wrote:
A lot of the code in the Octave Forge is licensed under the BSD license, so you can use that. Unfortunately, the main Octave code is released under the GPL. Cheers Stéfan ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/f50b7290ed1051c1054479b617578015.jpg?s=120&d=mm&r=g)
On Sat, Oct 21, 2006 at 02:05:42PM -0700, Keith Goodman wrote:
Did you, or anybody else on the list, have any luck making a numpy version of eigs?
I made a start at an ARPACK wrapper, see http://projects.scipy.org/scipy/scipy/ticket/231 and the short thread at scipy-dev http://thread.gmane.org/gmane.comp.python.scientific.devel/5166/focus=5175 In addition to the wrapper there is a Python interface (and some tests). I don't know if the interface is like "eigs" - I don't use Matlab. It will give you a few eigenvalues and eigenvectors for the standard eigenproblem (Ax=lx) for any type of A (symmetric/nonsymmetric, real/complex, single/double, sparse/nonsparse). The generalized and shifted modes are not implemented. I need to find some time (or some help) to get it finished. Regards, Aric ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Hello all
If you're interested in making an interface that looks like MATLAB's, you can take a peek at:
------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Argh.
<snip>
In addition to the wrapper there is a Python interface (and some tests). I don't know if the interface is like "eigs" - I don't use Matlab.
http://www.mathworks.de/access/helpdesk/help/techdoc/ref/index.html?/access/ helpdesk/help/techdoc/ref/eigs.html should give you some idea of how MATLAB's eigs works. Cheers, Albert ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/6a1dc50b8d79fe3b9a5e9f5d8a118901.jpg?s=120&d=mm&r=g)
On 10/22/06, Aric Hagberg <hagberg@lanl.gov> wrote:
That looks very promising! ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
Don't know if this is any use, but to me (not knowing Fortran nearly so well as C++) this looks pretty useful: http://www.caam.rice.edu/software/ARPACK/arpack++.html http://www.ime.unicamp.br/~chico/arpack++/ It provides a nice high-level interface on top of ARPACK. I could see it being useful on a number of levels: 1) actually use its wrappers directly instead of calling the f2py'ed fortran code - at least as a stop gap measure to cover the holes ("shifted modes" etc) - this could potentially even be faster since the reverse-communication interface requires some iteration, and this way the loops would run in compiled C++ instead of python. 2) use it's code just as a reference to help write more wrappers to the fortran code 3) if nothing else, it has pretty decent documentation. For instance it includes a nice table of the amount of storage you need to reserve for various different calling modes. (It seems ARPACK's main documentation is not freely available, so I'm not sure what's in it, but if you have that then ARPACK++'s docs may not be much help). As far as I can tell, it must be under the same licensing terms as ARPACK itself. It doesn't actually specify anything as far as I could see. But it seems to be linked prominently from the ARPACK website and appears as an offshoot project. --bb On 10/22/06, Aric Hagberg <hagberg@lanl.gov> wrote:
![](https://secure.gravatar.com/avatar/612395b66b3e7959997007b342b3688a.jpg?s=120&d=mm&r=g)
Nils Wagner wrote:
Ok it's not ready... gcc: Lib/sandbox/pysparse/src/spmatrixmodule.c In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:17: Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec_transp’: Lib/sandbox/pysparse/src/ll_mat.c:760: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/ll_mat.c:760: error: (Each undeclared identifier is reported only once Lib/sandbox/pysparse/src/ll_mat.c:760: error: for each function it appears in.) Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec’: Lib/sandbox/pysparse/src/ll_mat.c:797: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:18: Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec_transp’: Lib/sandbox/pysparse/src/csr_mat.c:119: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec’: Lib/sandbox/pysparse/src/csr_mat.c:146: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:19: Lib/sandbox/pysparse/src/sss_mat.c: In function ‘SSSMat_matvec’: Lib/sandbox/pysparse/src/sss_mat.c:83: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:17: Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec_transp’: Lib/sandbox/pysparse/src/ll_mat.c:760: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/ll_mat.c:760: error: (Each undeclared identifier is reported only once Lib/sandbox/pysparse/src/ll_mat.c:760: error: for each function it appears in.) Lib/sandbox/pysparse/src/ll_mat.c: In function ‘LLMat_matvec’: Lib/sandbox/pysparse/src/ll_mat.c:797: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:18: Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec_transp’: Lib/sandbox/pysparse/src/csr_mat.c:119: error: ‘CONTIGUOUS’ undeclared (first use in this function) Lib/sandbox/pysparse/src/csr_mat.c: In function ‘CSRMat_matvec’: Lib/sandbox/pysparse/src/csr_mat.c:146: error: ‘CONTIGUOUS’ undeclared (first use in this function) In file included from Lib/sandbox/pysparse/src/spmatrixmodule.c:19: Lib/sandbox/pysparse/src/sss_mat.c: In function ‘SSSMat_matvec’: Lib/sandbox/pysparse/src/sss_mat.c:83: error: ‘CONTIGUOUS’ undeclared (first use in this function) error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fPIC -ILib/sandbox/pysparse/include/ -I/usr/lib64/python2.4/site-packages/numpy/core/include -I/usr/include/python2.4 -c Lib/sandbox/pysparse/src/spmatrixmodule.c -o build/temp.linux-x86_64-2.4/Lib/sandbox/pysparse/src/spmatrixmodule.o" failed with exit status 1 Nils
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Nils Wagner <nwagner@iam.uni-stuttgart.de> wrote:
into scipy). I think there is probably an old post asking the list about sparse stuff and I think Travis had just written it and told me about it... can't remember. Can JDSYM just return the k lowest eigenvalues/eigenvectors? -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/612395b66b3e7959997007b342b3688a.jpg?s=120&d=mm&r=g)
On Wed, 16 Aug 2006 08:08:16 -0700 "David Grant" <davidgrant@gmail.com> wrote:
Yes. See http://people.web.psi.ch/geus/pyfemax/pysparse_examples.html for details. Nils
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Keith Goodman <kwgoodman@gmail.com> wrote:
Real, dense, symmetric, well doesn't scipy already have something for this? I'm honestly not sure on the arpack side of things, I thought arpack was only useful (over other tools) for sparse matrices, I could be wrong. -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Hello all
Maybe SciPy can also do this, but what makes ARPACK useful is that it can get you a few eigenvalues and eigenvectors of a massive matrix without having to have the whole thing in memory. Instead, you provide ARPACK with a function that does A*x on your matrix. ARPACK passes a few x's to your function and a few eigenvalues and eigenvectors fall out. I recently used MATLAB's eigs to do exactly this. I had a dense matrix A with dimensions m x n, where m >> n. I wanted the eigenvalues of A'A (which has dimensions m x m, which is too large to keep in memory). But I could keep A and A' in memory I could quickly calculate A'A*x, which is what ARPACK needs. Cheers, Albert
![](https://secure.gravatar.com/avatar/1cd7b5629508f84d86a752c9a346f7ae.jpg?s=120&d=mm&r=g)
On 8/16/06, Albert Strasheim <fullung@gmail.com> wrote:
Cool, thanks for the info. -- David Grant http://www.davidgrant.ca
![](https://secure.gravatar.com/avatar/6a1dc50b8d79fe3b9a5e9f5d8a118901.jpg?s=120&d=mm&r=g)
On 8/15/06, David Grant <davidgrant@gmail.com> wrote:
Did you, or anybody else on the list, have any luck making a numpy version of eigs? ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
Here's something I've been wondering: is it ok to port Matlab functions over to python? If so, then it's maybe an afternoon's work to get eigs working, given eigs.m and python Arpack wrappers. I'm 99% sure it would *not* be kosher to copy-paste their code directly, but it's not a copy paste job because of the differences between Python and .m. So it seems a grayer area to me. --bb On 10/22/06, Keith Goodman <kwgoodman@gmail.com> wrote:
------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/96dd777e397ab128fedab46af97a3a4a.jpg?s=120&d=mm&r=g)
On 10/21/06, Bill Baxter <wbaxter@gmail.com> wrote:
I haven't the faintest idea. What did the EULA say? What about a copyright? This sounds like a job for a lawyer, but I would guess it would be a bad idea unless the code is from a third party with a free license. Chuck ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
On 10/22/06, Charles R Harris <charlesr.harris@gmail.com> wrote:
Gee, there's an idea. :-) ---- from License.txt ---- "Except as expressly provided by this Agreement, including the attached Addendum, Licensee may not adapt, translate, or convert "M-files", "MDL-files" or "P-code" contained in the Programs in order to create software, a principal purpose of which is to perform the same or similar functions as Programs licensed by MathWorks or which is intended to replace any component of the Programs. The Licensee may not incorporate or use "M-files", "P-code", source code, or any other part of the Programs in or as part of another computer program without the consent of MathWorks. A Licensed User may modify pieces of MathWorks' code for the Licensed User's own use. A Licensed User may share such modified code with others provided each recipient is also a Licensed User for the original form of the code. " ------------------------- So. If you're a Matlab licensee it would be ok to use it in your own stuff, but putting it in Numpy is definitely out of the question. --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
![](https://secure.gravatar.com/avatar/af6c39d6943bd4b0e1fde23161e7bb8c.jpg?s=120&d=mm&r=g)
On Sun, Oct 22, 2006 at 09:27:39AM +0900, Bill Baxter wrote:
A lot of the code in the Octave Forge is licensed under the BSD license, so you can use that. Unfortunately, the main Octave code is released under the GPL. Cheers Stéfan ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/f50b7290ed1051c1054479b617578015.jpg?s=120&d=mm&r=g)
On Sat, Oct 21, 2006 at 02:05:42PM -0700, Keith Goodman wrote:
Did you, or anybody else on the list, have any luck making a numpy version of eigs?
I made a start at an ARPACK wrapper, see http://projects.scipy.org/scipy/scipy/ticket/231 and the short thread at scipy-dev http://thread.gmane.org/gmane.comp.python.scientific.devel/5166/focus=5175 In addition to the wrapper there is a Python interface (and some tests). I don't know if the interface is like "eigs" - I don't use Matlab. It will give you a few eigenvalues and eigenvectors for the standard eigenproblem (Ax=lx) for any type of A (symmetric/nonsymmetric, real/complex, single/double, sparse/nonsparse). The generalized and shifted modes are not implemented. I need to find some time (or some help) to get it finished. Regards, Aric ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Hello all
If you're interested in making an interface that looks like MATLAB's, you can take a peek at:
------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/fa3279b202e9a85f7d90a0422bca4489.jpg?s=120&d=mm&r=g)
Argh.
<snip>
In addition to the wrapper there is a Python interface (and some tests). I don't know if the interface is like "eigs" - I don't use Matlab.
http://www.mathworks.de/access/helpdesk/help/techdoc/ref/index.html?/access/ helpdesk/help/techdoc/ref/eigs.html should give you some idea of how MATLAB's eigs works. Cheers, Albert ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/6a1dc50b8d79fe3b9a5e9f5d8a118901.jpg?s=120&d=mm&r=g)
On 10/22/06, Aric Hagberg <hagberg@lanl.gov> wrote:
That looks very promising! ------------------------------------------------------------------------- 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
![](https://secure.gravatar.com/avatar/915f9e3213021d75d43bb4262167b067.jpg?s=120&d=mm&r=g)
Don't know if this is any use, but to me (not knowing Fortran nearly so well as C++) this looks pretty useful: http://www.caam.rice.edu/software/ARPACK/arpack++.html http://www.ime.unicamp.br/~chico/arpack++/ It provides a nice high-level interface on top of ARPACK. I could see it being useful on a number of levels: 1) actually use its wrappers directly instead of calling the f2py'ed fortran code - at least as a stop gap measure to cover the holes ("shifted modes" etc) - this could potentially even be faster since the reverse-communication interface requires some iteration, and this way the loops would run in compiled C++ instead of python. 2) use it's code just as a reference to help write more wrappers to the fortran code 3) if nothing else, it has pretty decent documentation. For instance it includes a nice table of the amount of storage you need to reserve for various different calling modes. (It seems ARPACK's main documentation is not freely available, so I'm not sure what's in it, but if you have that then ARPACK++'s docs may not be much help). As far as I can tell, it must be under the same licensing terms as ARPACK itself. It doesn't actually specify anything as far as I could see. But it seems to be linked prominently from the ARPACK website and appears as an offshoot project. --bb On 10/22/06, Aric Hagberg <hagberg@lanl.gov> wrote:
participants (8)
-
Albert Strasheim
-
Aric Hagberg
-
Bill Baxter
-
Charles R Harris
-
David Grant
-
Keith Goodman
-
Nils Wagner
-
Stefan van der Walt