ScottKolo/suitesparse-matrix-collection-website

View on GitHub
app/views/pages/about.html.haml

Summary

Maintainability
Test Coverage
=provide(:title, "About")
=provide(:description, "About the SuiteSparse Matrix Collection")

%h2 About
%p
  The <b>SuiteSparse Matrix Collection</b> (formerly known as the University of
  Florida Sparse Matrix Collection), is a large and actively growing set of
  sparse matrices that arise in real applications.  The Collection is widely
  used by the numerical linear algebra community for the development and
  performance evaluation of sparse matrix algorithms. It allows for <b>robust</b>
  and <b>repeatable</b> experiments: <b>robust</b> because performance results with
  artificially-generated matrices can be misleading, and <b>repeatable</b> because
  matrices are curated and made publicly available in many formats.  

%p
  The matrices in the Collection cover a wide spectrum of domains, including
  .container
    .row
      %ul
        %li
          2D or 3D Geometric Domains
          %ul.card-columns
            %li
              Structural engineering
            %li
              Computational fluid dynamics
            %li
              Model reduction
            %li
              Electromagnetics
            %li
              Semiconductor devices
            %li
              Thermodynamics
            %li
              Material science
            %li
              Acoustics
            %li
              Computer graphics and vision
            %li
              Robotics and kinematics
            %li
              Other spatial discretizations
        %br
        %li
          Non-Geometric Domains
          %ul.card-columns
            %li
              Optimization
            %li
              Economic and financial modeling
            %li
              Circuit simulation
            %li
              Theoretical and quantum chemistry
            %li
              Chemical process simulation
            %li
              Mathematics and statistics
            %li
              Power networks
            %li
              Other networks and graph-structured data
%p
  In addition to the matrices and associated metadata, we provide software for accessing the Collection via a number of 
  ==#{link_to "interfaces", "/interfaces"},
  from MATLAB, Mathematica, Fortran, and C, as well as this web application and index.  
%p
  Graph visualization of the matrices is
  provided on this site via 
  ==#{link_to "graphviz", "http://www.graphviz.org"}.
%p
  The Collection is maintained by
  ==#{link_to "Tim Davis, Texas A&M University", "http://faculty.cse.tamu.edu/davis"}
  (email: davis@tamu.edu), 
  ==#{link_to "Yifan Hu, Yahoo! Labs", "http://yifanhu.net/"},
  and 
  ==#{link_to "Scott Kolodziej", "http://www.scottkolo.com"}.


%h2 General-audience description
%p
  ==#{link_to "Click here", "http://faculty.cse.tamu.edu/davis/matrices.html"}
  for an easy-to-understand description of the SuiteSparse Matrix Collection and its images.
  The page includes a video of a talk I gave at the Harn Museum at the University of Florida,
  for general audiences.


%h2 Sample Gallery of the SuiteSparse Matrix Collection:
%p
  %table{:class => "about-images"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Alemdar/Alemdar_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Alemdar/Alemdar"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrews/Andrews_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrews/Andrews"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/ex3sta1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/ex3sta1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/fxm3_6_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/fxm3_6"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/fxm4_6_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/fxm4_6"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/lp1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/lp1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/lpl1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/lpl1"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/mip1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/mip1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Andrianov/net25_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Andrianov/net25"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/ATandT/pre2_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/ATandT/pre2"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Barabasi/NotreDame_www_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Barabasi/NotreDame_www"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Bates/Chem97Zt_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Bates/Chem97Zt"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Bomhof/circuit_2_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Bomhof/circuit_2"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Chen/pkustk01_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Chen/pkustk01"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Chen/pkustk12_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Chen/pkustk12"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_indef/aug3d_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_indef/aug3d"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_indef/dawson5_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_indef/dawson5"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_indef/ncvxqp9_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_indef/ncvxqp9"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_psdef/jnlbrng1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_psdef/jnlbrng1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_psdef/pds10_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_psdef/pds10"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Gleich/wikipedia-20070206_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Gleich/wikipedia-20070206"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Grund/poli_large_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Grund/poli_large"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Gupta/gupta3_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Gupta/gupta3"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Hamm/hcircuit_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Hamm/hcircuit"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/HB/illc1033_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/HB/illc1033"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/HB/lock1074_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/HB/lock1074"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/HB/lock_700_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/HB/lock_700"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/aircraft_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/aircraft"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/cep1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/cep1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/ex3sta1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/ex3sta1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/lpl3_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/lpl3"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/nemscem_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/nemscem"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Meszaros/pltexpa_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Meszaros/pltexpa"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Mittelmann/spal_004_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Mittelmann/spal_004"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Pothen/barth5_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Pothen/barth5"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Pothen/skirt_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Pothen/skirt"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/QCD/conf5_0-4x4-10_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/QCD/conf5_0-4x4-10"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/QCD/conf5_4-8x8-05_APlusAT_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/QCD/conf5_4-8x8-05"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Rothberg/gearbox_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Rothberg/gearbox"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Wissgott/parabolic_fem_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Wissgott/parabolic_fem"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/HB/sstmodel_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/HB/sstmodel"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Pothen/commanche_dual_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Pothen/commanche_dual"}
    %tr
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_psdef/finance256_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_psdef/finance256"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Boeing/pct20stif_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Boeing/pct20stif"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Cote/mplate_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Cote/mplate"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/Bai/rw5151_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/Bai/rw5151"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_indef/ncvxbqp1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_indef/ncvxbqp1"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_psdef/ford2_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_psdef/ford2"}
      %td
        ==#{link_to image_tag("https://sparse.tamu.edu/files/GHS_psdef/opt1_graph_thumb.gif", border:'0'),"https://sparse.tamu.edu/GHS_psdef/opt1"}
%br
%p
  Click on an image above for more details on each matrix.
  The images were created by
  ==#{link_to "Yifan Hu", "http://yifanhu.net/"} 
  at Yahoo! Labs, with a
  ==#{link_to "graph drawing program", "http://yifanhu.net/PUB/graph_draw_small.pdf"} 
  that can generate truly beautiful drawings large graphs, based solely on
  the connectivity (that is, a sparse matrix).  Take a look at his
  ==#{link_to "drawings of the matrices in the Collection", "http://yifanhu.net/gallery.html"},
  which are also mirrored here on the web page for each matrix.

%h2 How to Cite
%p
  Here are some citation recommendations when the Collection or this web interface are used as part of academic research:
  
  %ul
    %li
      If you use this Collection as a data set, please cite the original ACM-TOMS paper:
      %p.p-3
        Timothy A. Davis and Yifan Hu. 2011. The University of Florida Sparse Matrix Collection. ACM Transactions on Mathematical Software 38, 1, Article 1 (December 2011), 25 pages. DOI: <a href="https://doi.org/10.1145/2049662.2049663">https://doi.org/10.1145/2049662.2049663</a> 
    %li
      If you use this web application a substantial amount in your research, you might also consider citing the following JOSS paper under a separate <a href="https://www.force11.org/software-citation-principles">software citation</a> section:
      %p.p-3
        Scott P. Kolodziej, Mohsen Aznaveh, Matthew Bullock, Jarrett David, Timothy A. Davis, Matthew Henderson, Yifan Hu, and Read Sandstrom. 2019. The SuiteSparse Matrix Collection Website Interface. Journal of Open Source Software 4, 35 (March 2019), 1244-1248. DOI: <a href="https://doi.org/10.21105/joss.01244">https://doi.org/10.21105/joss.01244</a>

%h2 Related Publications
%p
  For additional background and information about subsets of the Collection:
  %ul
    %li
      Duff, I.S, Grimes, R. G, and Lewis, J. G,
      <a href="http://doi.acm.org/10.1145/62038.62043">Sparse matrix test problems</a>,
      ACM Trans. on Mathematical Software, vol 15, no. 1, pp 1-14, 1989, which
      describes the Harwell-Boeing Collection.
    %li 
      For more information on citing the LAW group of matrices, visit the website for the <a href="http://law.di.unimi.it/datasets.php">Laboratory for Web Analytics</a>. 


%h2 Archival data for reproducible research
%p
  The Collection serves a vital role in the sparse matrix algorithms
  community, as a benchmark for algorithmic testing and development.  Results
  in journal articles that use these matrices can be repeated by other
  researchers.
  The Collection also appears widely in other repositories or citation indices:
  %ul
    %li
      ==#{link_to "Clarivate Analytics Data Citation Index", "http://wokinfo.com/products_tools/multidisciplinary/dci/"} (search for "sparse")
    %li
      ==#{link_to "Amazon Web Services", "http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2379&amp;categoryID=276"}
    %li
      ==#{link_to "Re3Data.org", "http://service.re3data.org/repository/r3d100010208"}

%h2 To access the Collection
%p
  There are several ways to download matrices from this Collection.

  %ul
    %li 
      Via your web browser.  Click on the 
      ==#{link_to "Index", "/"} 
      tab in the top menu bar on this page.
    %li Via MATLAB with the ssget function.
    %li Via a stand-alone Java GUI.
    %li Via Julia.

%p
  See the
  ==#{link_to "Interfaces", "/interfaces"} 
  tab at the top of this page
  for details on ssget, the Java GUI, and the Julia interface.
  Matrices are provided in three formats: MATLAB *.mat file, Rutherford-Boeing, and Matrix Market.
  The Rutherford-Boeing format is described in a document on the
  ==#{link_to "Rutherford-Boeing Sparse Matrix Collection", "/files/DOC/rb.pdf"}.
  See the 
  ==#{link_to "Matrix Market", "http://math.nist.gov/MatrixMarket"}
  for a description of the Matrix Market format.

%h2 To submit matrices to the Collection:
%p
  Click on the 
  ==#{link_to "Submit Matrix", "/submit"}
  tab in the top menu bar on this page to submit matrices to the Collection.

%h2 Other Computed Data
%p
  While the Collection contains a variety of precomputed data about each matrix, others have gone further and computed even more interesting properties for matrices from the Collection (or subset thereof). Here are a few:

  %ul
    %li
      Khalid Theeb and Dr. Mary Hall of the University of Utah have 
      ==#{link_to "computed a variety of metrics", "http://www.cs.utah.edu/~khalid/matrix_eigen.html"}
      for a selection of matrices from the Collection, including average, maximum, and standard deviation of nonzeros per row, density, diagonal fill ratio, and plots of eigenvalues.
    %li
      Dr. Rob Bisseling's research group at Utrecht University has computed 
      ==#{link_to "optimal solutions to the edge bipartitioning problem", "http://www.staff.science.uu.nl/~bisse101/Mondriaan/Opt/"}
      for a subset of matrices from the Collection.

%p
  You can submit more metrics, properties, or other work based off of the Collection to Tim Davis at davis@tamu.edu.



%h2 License

%h3 Overview
%p
  This website software (except for ssget) is under the MIT License.
  The matrices themselves are under the CC-BY 4.0 License.

%h3 Details
%p
  %strong
    ssget
  (available in
  ==#{link_to "SuiteSparse/ssget", "https://github.com/DrTimothyAldenDavis/SuiteSparse"}
  in the ssget folder is under the BSD 3-clause License.

%p
  %strong
    The matrices themselves 
  are under the
  ==#{link_to "CC-BY 4.0 license", "https://creativecommons.org/licenses/by/4.0/"}
  Note that this license asks you to cite the source of
  the matrices.  That citation can be made to these references:

  %ul
    %li
      Kolodziej et al., (2019). The SuiteSparse Matrix Collection Website Interface.
      Journal of Open Source Software, 4(35), 1244,
      ==#{link_to "DOI", "https://doi.org/10.21105/joss.01244"}

    %li
      Timothy A. Davis and Yifan Hu. 2011. The University of Florida sparse matrix
      collection. ACM Trans. Math. Softw. 38, 1, Article 1 (November 2011), 25 pages.
      ==#{link_to "DOI", "https://doi.org/10.1145/2049662.2049663"}

%p
  You should also preserve the metadata in the matrices themselves, which
  includes additional citations for specific matrices.  For example, the
  ==#{link_to "LAW", "http://sparse.tamu.edu/LAW"}
  set of matrices (from the Laboratory for Web
  Algorithmics, Universita degli Studi di Milano) includes specific instructions
  on how to properly cite the matrices.   See
  ==#{link_to "sparse.tamu.edu/LAW", "http://sparse.tamu.edu/LAW"}
  for details.  For the Matrix
  Market format, most of the metadata appears in the header of the *.mtx
  themselves.

%p
  Ideally, if you redistribute the matrices in your own applications, you should
  not change them at all.  This is essential for repeatability of experiments
  that rely on these matrices.  Modification is permitted under the CC-BY 4.0
  License, but that license requires you to state the modifications you make.  If
  you make any such modifications, please change the filename and matrix name to
  indicate that it differs from the copy of the matrix from
  ==#{link_to "sparse.tamu.edu", "http://sparse.tamu.edu"}.
  Carefully describe any modifications you make.