SJSU Singular Matrix Database

SJget MATLAB interface to the SJSU Singular Matrix Collection:

The SJget interface provides for access to the collection from inside your MATLAB workspace. From inside MATLAB, SJget will download a matrix, cache it locally, and load it into your MATLAB workspace. You don't need to use a browser to get a matrix. For example to download the 10th matrix from the SJSU Singular site, from inside Matlab:
	Prob = SJget(10);      % Prob is a struct (matrix, name, meta-data, ...)
	A = Prob.A ;           % A is a numerically singular matrix
	svals = Prob.svals;    % the singular values of A
	SJplot(Prob),shg       % plot the singular value spectrum of A
	disp( SJrank(Prob) )   % display the numerical rank of the matrix
You can also search for matrices that fit your criteria and reorder the matrices -- from inside MATLAB. For example, to download all symmetric matrices into MATLAB, and order them in increasing numerical rank:
    index = SJget ;           % get index of the SJSU Singular Matrix Collection
    ids = find (index.numerical_symmetry == 1) ;
    [ignore, i] = sort (index.numrank (ids)) ;
    ids = ids (i) ;
    for id = ids
	   Prob = SJget (id);        % Prob is a struct (matrix, name, meta-data, ...)
	   A = Prob.A ;              % A is a symmetric matrix
	   disp([SJrank(Prob),size(A)])   % list the numerical rank and size of A
    end
To install SJget download the appropriate compressed file below. Move, from inside Matlab 7.0 or later, to the folder containing the unzipped files and type SJget_install.

SJget is derivative work and is based on UFget from SuiteSparse by Timothy Davis (however code from SuiteSparse is not needed to use SJget). Our discussion of the use of SJget is similar to the discussion of UFget at The University of Florida Sparse Matrix Collection.