Interfaces

Here are the ways to access the collection.

Direct access via this website

From the Index page, navigate to the page for an individual matrix or matrix group, and click on one of the download buttons (one for each file format).

However, your browser might block the download since this website is https but the large data files are in an http respository. Some browsers are no longer allowing this access by default. For Chrome or Brave, you can revise your browser settings for the sparse.tamu.edu page. On the lock icon on the address bar of your browser, select 'Site Settings'. Under 'Insecure Content', choose 'Allow'. For Firefox, you will need to click on the download button on the top bar of your browser, where you will see the warning 'File not download; potential security risk'. Click on that warning and click 'Allow Download'. The other methods of accessing the collection listed below do not have this limitation.

Java Graphical Interface (ssgui)

The ssget package includes a Java program (ssgui) for browsing and downloading the matrices in any format on any platform.

ssgui screenshot

Yifan Hu

In addition to creating the graph visualizations used on this site, Yifan Hu maintains a matrix search engine for finding matrices with specific properties.


MATLAB Interface (ssget)

Click here for the ssget MATLAB and ssgui Java interfaces. ssget.m provides for simple access to the collection, right inside your MATLAB workspace. From inside MATLAB, ssget will download a matrix, cache it locally, and load it into your MATLAB workspace. No need to use a browser to get a matrix. You can even use the built-in index to search for matrices that fit your criteria, all inside MATLAB.

For example, to download all symmetric matrices into MATLAB, in increasing size as measured by nnz(A):

index = ssget ;           % get index of the SuiteSparse Matrix Collection
ids = find (index.numerical_symmetry == 1) ;
[ignore, i] = sort (index.nnz (ids)) ;
ids = ids (i) ;
for id = ids
  Prob = ssget (id)     % Prob is a struct (matrix, name, meta-data, ...)
  A = Prob.A ;          % A is a symmetric sparse matrix


Julia Interface

Weijian Zhang, at the University of Manchester, has created a Julia interface to the SuiteSparse collection.

Python Interface

Sudarshan Raghunathan has written a Python interface, ssgetpy. You can see examples of how to use it in this Jupyter notebook.

R Interface

Fabian Navarro, at CREST-ENSAI, France, has an R interface to the SuiteSparse collection.