Be the first to rate this file! 6 Downloads (last 30 days) File Size: 9.83 KB File ID: #18591

Rank-Revealing QR factorization

by Ivo Houtzager

 

03 Feb 2008 (Updated 02 Apr 2011)

Rank-Revealing QR factorization of an array

| Watch this File

File Information
Description

Rank-Revealing QR factorization of an array. The mex-functions are using the rank-revealing QR routines xGEQPX and xGEQPY from ACM Algorithm 782. Can also handle complex and single precision array's.

MATLAB release MATLAB 7.4 (R2007a)
Other requirements BLAS/LAPACK + RRQR library from ACM Algorithm 782
Tags for This File  
Everyone's Tags
linear algebra, mathematics, rankrevealing qr factorization
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
10 Jan 2012 Jeshua Bratman

Here's how I managed to compile librrqr.a

# first download the package (it is actually a shell script that creates a bunch of files)
wget http://www.netlib.org/netlib/toms/782 -O 782.sh

# remove the top 3 lines with the ACM info
sed -i '1,3d' 782.sh

# replace all $( and $?in the cat areas for makefiles with \$( and \$?to work with newer versions of sh
sed -i 's/\$[\(]/\\$\(/g' 782.sh
sed -i 's/\$[\?]/\\$?/g' 782.sh

# now extract the rrqr_acm directory
sh 782.sh

To compile go into rrqr_acm/lib and run make. You will probably need to first edit the Makefile and change the fortran compiler from f77 to gfortran and add -fPIC to the OPTS. After running make, there should be a file rrqr.a in the rrqr_acm directory. Move this to librrqr.a in the directory with the matlab and c files and now you should be able to compile the mex file.

14 Jul 2008 Tim Davis

I had difficulty in compiling the ACM 782 algorithm on Linux (the "make" instructions seem to be out of date).

You should create an m-file called rrqr_install.m that compiles this code and the RRQR algorithm from the ACM - all using the "mex" command from inside MATLAB. That way, your installation should work on any MATLAB. The one-line instructions you give using rrqr.lib assume you're on Windows (there would be an rrqr.a on Linux/Unix, or a rrqr.so, not a Windows rrqr.lib).

You should also provide instructions on where to find the ACM algorithm (I found it here:

http://portal.acm.org/citation.cfm?doid=290200.287638

or

http://www.netlib.org/netlib/toms/782

but that detail should be in your installation instructions.

Updates
12 May 2008

new mex-files for R2008a

06 Oct 2010

Updated for new Matlab 64 bit versions

06 Oct 2010

Updated for new Matlab 64 bit versions

02 Apr 2011

some small fixes for 64bit

Contact us