From octave-sources-request at bevo dot che dot wisc dot edu Mon Dec 18 19:58:45 2000 Subject: New sparse functions From: adler at freenet dot carleton dot ca To: octave-sources at bevo dot che dot wisc dot edu Date: Mon, 18 Dec 2000 21:03:13 -0500 (EST) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime at docserver dot cac dot washington dot edu for more info. --8323328-2140184398-977110764=:2571 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: This is a sparse matrix toolkit for octave based on the SuperLU package. New features: sparse inverse, better tests, new structure ID: $Id: README,v 1.2 2000/12/18 03:31:16 aadler Exp $ AUTHOR: Andy Adler INSTRUCTIONS 0. Check that you have the following files: a Makefile b make_sparse.cc c make_sparse.h d sp_test.m e fem_test.m f superlu2.0patch.diff 0a. This is tested to work with octave-2.1.32 It works with >2.1.30 if you apply the mkoctfile patch at www.octave.org/mailing-lists/octave-maintainers/2000/175 0b. If you already have a SuperLU subdirectory with SuperLU/SRC and SuperLU/CBLAS then ignore steps 1-3 1. Download SuperLU from one of the following sites http://www.netlib.org/scalapack/prototype ftp://ftp.cs.berkeley/pub/src/lapack/SuperLU http://www.nersc.gov/~xiaoye/SuperLU/ 2. Unpack SuperLU into the directory you'll be building the octave sparse functions from 3. Apply the patch patch -p0 < superlu2.0patch.diff 4. Build the octave sparse functions make in the octave sparse functions directory NOTE: do not run the SuperLU makefiles - it doesn't build the right objects into the library This makefile assumes that the SuperLU package has been unpacked in this directory. It compiles files directly from their locations in the SuperLU source. You do not need to use SuperLU makefiles. SuperLU is available from http://www.netlib.org/scalapack/prototype ftp://ftp.cs.berkeley/pub/src/lapack/SuperLU AUTHOR: Andy Adler COPYRIGHT: Copyright (C) 1998-00 Andy Adler This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. SUPERLU COPYRIGHT: The following copyright is taken from any of the files in the SuperLU/SRC directory /* * -- SuperLU routine (version 2.0) -- * Univ. of California Berkeley, Xerox Palo Alto Research Center, * and Lawrence Berkeley National Lab. * November 15, 1997 * */ /* Copyright (c) 1994 by Xerox Corporation. All rights reserved. THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. Permission is hereby granted to use or copy this program for any purpose, provided the above notices are retained on all copies. Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. */ USAGE: sparse functions are provided for sparse -> create sparse matrices full -> create full matrices from sparse splu -> spare lu decomposition spfind -> find elements of sparse matrices nnz -> number of non zero elements Unitary operators S' S.' -S ~S Binary operators == + - * .* \ Selection A( fortran_vec ) , A( idx1, idx2 ) MISSING FEATURES (TODO FILE) (This is more or less in the order of importance, and probability of accomplishment) 1. Sparse solution: there is no code for sparse \ sparse sparse(index1,index2) = submatrix 2. More efficient code for: sparse \ sparse spinv splu 3. Support for complex sparse matrices 4. More "sophisticated" matrix operations on sparse eigenvectors chol SVD etc. KNOWN AND PREDICTED BUGS AND FEATURES: 1. Right now only real (double) matrices are supported, SuperLU has support for complex, so I'll be adding that in at some point. 2. It probably leaks memory. I'll try to test this more carefully after I stop adding features. 3. It does not support empty matrices properly. It may even have some problems with completely sparse (all zero) matrices in some cases. 4. The attempt here is to provide compatability to the main MATLAB sparse matrix entry points. The SuperLU provides slightly different fuctionality to MATLAB, and, therefore this toolkit provides different features. For example, the column permutation algorithm (and approach) is different. Additionally, I don't intend to provide replacements for the MATLAB sparse functions I consider frills. eg sprand.m, treeplot.m 5. SuperLU routines bail out on errors. They don't even let octave save it's variables. Someone will have to explain to me how to modify the SuperLU ABORT() to do this right. 6. SuperLU uses the int data type as indices. Since ints are normally 4 bytes (at least on i386 machines), this is not a great problem. There may be still a few places where an int is used to refer to i+j*m, which means that sparse operations on matrices where m*n > maxint/2 may be buggy. I've tried to fix this, but there may be some left. Email me if you find any. 7. Sparse solve is a little faster than the MATLAB equivalent, except it seems not to choose the factoring as well. Using a perm_c spec of 2 for symetric matrices will get speed improvements of ~ 1.5. (For the FEM problems I use it for) _______________________________________ Andy Adler, adler at ncf dot ca --8323328-2140184398-977110764=:2571 Content-Type: APPLICATION/X-GZIP; NAME="oct_sparse.tgz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="oct_sparse.tgz" H4sIAGuGPToAA+xbbXfaxrbu1+pX7JWmy2CDQNiJW3zoKsYk5RRjH8Btc3N8 vIQYsGIhUUlgux/62++z94wQ2CZNmrb3ZZWVgDQz+2X2+2zJrWs3nKpuNP3s z/tUnWr15cuDz6r4HD745c/+ofNZ9bDmHO7zBK4dZ99xPqPqn8jT6rNIUjcm +swNx/fvW/db8/9HP06VwmhJNUieiJrYJDXHgYrpHy7/fBt6E9tzv7EszNIu ueOxGtPYj5WXRrGvEppEMSVzN04UTRahl/pRmFiWc0hj5X0k2mQxn0dxuo7S D5cKv7+17N/mwqwbxdGNIi8aM4I0otkiSP15oGjX9jya+IFKrP9pwf8v+Zy6 N4oF8mfSEP8/2Ob/Tu1l7UXm/7WD6gH7fw0/f/v/X/D5gjILIOyQ+u3myWlb XCvyUnepaLCYq7h7QXG0SP0QjvMFPe+M6yuw0pIcuyaeXnFqFecrqu7X9526 85Jc8XVq383pufUFAyLPbEBimPpq6SeIGoLmSTwGEdYO5oGfasded2vt0V9k 8WEzdHyxScPJaDj4R9Va/eCwjoucxkn3JI9k60Emizt+aGTzEHXGfvVFpVqj arXuVOv7B8SCvcfKWTROmO3bKL6hWz+9pprt2PtVRoPpTm8w7F+0hp2z3kAG qja1rpV3Q+m1m9J9tKBrVkh6jQ1HQRDd+uFUb72O1SCzkqzcjmiG2yvNPOKe DHobg9cyxhK7SlWS2jO5B3o1Wx+Y8NZVHCxqdnXupt61PfYnE5liNl2bhtd+ QvjHQNDAxia1rMqy15oAEXVSWZDoFd9oOZA/kV2683lwL9uc3QBYbFPIGmA3 xQUTHtnUMSBBrFzkGBGQu7LZZDHKUtW9kDIYzHxl0G+J1Wf3reNuc8CUQ/Kn YRQrMgDY1Twhp7yvKTs2nUS3YRC5K1iaxNGMolBRNHmgosRPxTq3fq7TdF6v VG5vb+1QpYE/sqN4Wkk8N3DnrndTmcdRGqX3c/U+JBPBgW/bS+yRim9UoO4r 88WoksRexWAyzH4wM3Hi2dNoWfn1zneje5XBV8Q+azZdhIx2JQNJtrz5XOrQ zk4Q0EjRaOEHY5YHFhgGTIh5WD6ILIXEvk3NlTWs24D+yAiV51X6xxYTxfID m46ZtODYQnEDK3sI/8LP3wOS73EDuHc2bNdpHKGqSileaBSZfGbGPxMq02Md ILKNI5WEO6mWlYDG/vQ6pWj0DrSSXMAwkthl0kAjzjdbRfEkWcxAQYLGOnHW lDtV8JEE6oCJL0R5asycyF79tU3Z7KNeNJsLu5ppPQltiK0Dtx9TEHnuSoT+ 5naTaBF7yqY38FAjkVDp8LBInpCKLdtZGVNC7tL1A3fEEZ4p/iF+8pGOoh2+ eTH87qxff18lK+taZ+dv+p3X3w05Irei+b1WX6FVJOfrr78qSz2c49BA+IgK wf40dme88UmsYHHRJL11Y3UkIc5zQ4rV2E/S2B8tUsXmgthViWKdWvzJPQ8t wjF4Yy2kKp4lWTR63bug1woO7QZ0vhgFvkdd31NhwgYDBHMeS66hnJF2tlfM wcBwQK8i4BU9H5FCHAUJTq6c9mogAQQMYzCWCDmzoFMWyog5gxXB6z0FbppD 2k9vPd/hOLOn62iutD1jg7e+DiewoMkiKAEJ1tKPHSjoYkjN3hv6sdnvN3vD N0cS8lG2kFoqjcmfoYAAYmwqdsP0XvN+2u63vgNE87jT7QzfMPuvOsNeezCg V2d9atJ5sz/stC66zT6dX/TPzwZtG0lEKRPK3iNcLh9mnEjGKoUtJ2bT7BEJ WIOTS8qCXyl/CcZc+Nz8frvWAL7SWxAhmEoCTddkeMRpFK5WotsYiYdMwNjQ J7DkGi1RJ/TsEr08fIECIkmouYQKW+5sFPvjKS5PmyiTnP2vS3QxaNqW1Wui QuRPwwRLU05YZ8f/7HZ63w9kIplP/HBsI3qa0CmXUFlgxoKFXIThL2YABRtf WYOL83YfAUDQZI541hr+0O4bolkxgcHmD20zqOP084JeWbROv8fVis2sksjn rWbfRARe4MZW6/w8v/f29qxWa23BFBUUCrTOuRlgK51b1uCq02sJT53nBcN5 kQuLCv3bWsWcjUmpMiwOEK2T9iuWVvkEHB3DrKi83Bxv9k7eDK4G7devmhfd 4dUZ1vU7J+0cwrIsqYuV58NIxgikoTmU57ke5cqtWoVevQYBaHyFEKP9ahQg KQR+iIpsMc9s6kGWFjg/i/W1DZwRfBrWomAh7f5V8/isPyzMkmmxpAdOm93u WauQ+L+o4lps5tJL5l/12+0Cive4yMhgyEvGJdHjNhSnVTP4j6Zt5HiVy4h3 Uj7bp3WJG7mfPHvEQAP7MRZ7NXNRpHl6/Nl28HxD68ATN3URxGOZeA90vrsN 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 QqmcrF7jkBbyGpPGsb5bTxKjUqjpLZxZUKDdT1bf4gR6sF1B8kPiMqCwIjh3 wYvIHnwDU9SXccRDOSQJU6E4BvYKO9EZ5lfm/PUAMvQY7GI7FLLd2mXdEaFv p5DYpWV7HwOy+dmERApESVoZK+o4DZxy1HR8UGgpx17sHWUzcq60Y1OIOoV1 55uBMWsNYK6+qeNRynCWPdqQL3C6COeF/5V7Lwbzf7eC7/7+tm7vbMpiOwWu FK8xzimJ7bSIw0eEkekD+Icj0kJM55pKGZUHCO0zvaaUJlGOFko/wJezm5UX pcKgNJTbC3UwojAoyMeKiIbh99rCqkznpyC/zeakrJBRUmD84YgzJJltVsBc 15ymkTJ73qprvFkW1JIwO/saa6OhyZokfSHzwpczMG6QlqYzTl6O4YpiG0uC EA39aXSGGQr++fbD7g8Hb+W01fEBZRXJOVM966o6/mf9tXp2pn4c1p+4aFaw 8kUVAXEoXVSRJdAyycclsmBT8Iu6MSmE8mpuWDWLJqoNTNoasYyCDQhy2nrd wGXbLFktKlsQsbXCStTCWgB1NpTsM3SOj7QUkbZvjTGyYG/UVUMgjUQjSQCY q9bpDZAeLdrsvNcRBwgHNX/2PWrdNHcmrLa99+WEmTKXlsi3NaRY6FT7Jj71 gJTOomHIqHUB8uKMEN7saNkjOq7LXxdd6hHhvuetnsuvLXOtp/m1z2bYsm/2 shk2/uhy+8vYi7bKQXk31pIsPJ6Vdf+3773/27fvWx5UX6US1prYF+wkjO6J 4TQLCQHXTXG+i5KtEW8pgzH9/u6dm0jHgMJlNpIcLG1Yl4s9meDTiTz1klJ7 Z2nWtaksLVU0PBtR9e75dHpVWE2wuCcw4NUW/AvgH6YbwvLFmGjiT1Z7eCH9 fRs5xehn5htF0qlzXxpZPTmBT+hoK0DPwlznlQn0dJxUdUK7gllEW18fBFOj mr5qTyhuOUa7Q81bwlPfvT8UnKY4M2Y36RvEdjnx4DS1U+36TzSiFgqqLaiL eHcq34v/+pcmPliAMZ4L8PdiRsp0ngEc9I1GHXMpwqCIXMAq0yvJnG5dH7LM oQptExLXDKhoNJdOqJW2J6xRXEguFNv+uEbSnQQ1Um0T3eiUvvkDvSYpABSX b0CssyxEOI20Zm3gbDfCOnEsMa8QIuvRVQstJH+6t3XkT3eTvsOfHkz2FiDZ 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 /Dx+Hj+Pn8fP4+fx8/j5U3z+P/c4afwAuAEA --8323328-2140184398-977110764=:2571-- ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------