app/views/pages/interfaces.html.haml
=provide(:title, "Interfaces")
=provide(:description, "Interfaces for accessing the SuiteSparse Matrix Collection")
%h2 Interfaces
%p
Here are some other ways to access the collection.
%h3 Java Graphical Interface (ssgui)
%p
The #{link_to "ssget", "http://sparse.tamu.edu/files/ssget.tar.gz"}
package includes a Java program (ssgui) for browsing and downloading the
matrices in any format on any platform.
%div
#{link_to image_tag("https://sparse.tamu.edu/files/ssget_java.png", alt: "ssgui screenshot"), "http://sparse.tamu.edu/files/ssget.tar.gz"}
%hr
%h3 Yifan Hu
%p
In addition to creating the
#{link_to "graph visualizations", "http://yifanhu.net/GALLERY/GRAPHS/"} used on this site, Yifan Hu maintains a
#{link_to "matrix search engine", "http://yifanhu.net/GALLERY/GRAPHS/search.html"} for finding matrices with specific properties.
%hr
%h3 MATLAB Interface (ssget)
%p
#{link_to "Click here for the ssget MATLAB and ssgui Java interfaces","http://sparse.tamu.edu/files/ssget.tar.gz"}.
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.
%p
For example, to download all symmetric matrices
into MATLAB, in increasing size as measured by nnz(A):
%pre
= preserve do
:escaped
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
%hr
%h3 Julia Interface
%p
#{link_to "Weijian Zhang", "http://www.maths.manchester.ac.uk/~weijian/"}, at the University of Manchester, has created a
#{link_to "Julia interface to the SuiteSparse collection", "http://matrixdepotjl.readthedocs.org/en/latest/interface.html#interfaces"}.
%h3 Python Interface
%p
Sudarshan Raghunathan has written a Python interface,
#{link_to "ssgetpy","https://github.com/drdarshan/ssgetpy"}.
You can see examples of how to use it in
#{link_to "this Jupyter notebook","https://nbviewer.jupyter.org/github/drdarshan/ssgetpy/blob/master/demo.ipynb"}.
%h3 R Interface
%p
#{link_to "Fabian Navarro", "https://fnavarro.perso.math.cnrs.fr/"}, at CREST-ENSAI, France, has an
#{link_to "R interface to the SuiteSparse collection", "https://cran.r-project.org/web/packages/gasper/index.html"}.
%hr