next up previous
Next: Downloading Matrices Up: HTML Interfaces for Matrix Previous: Matrix Home Pages

Finding Matrices

The main Matrix Market page gives readers several different ways to search for matrices.

  1. By Browsing Through Sets
  2. By Database Query
  3. By Application Domain
  4. By Contributor

Users who select Browsing Through Sets are presented with a list of the set identifiers along with a short sentence or phrase which describes the matrices in the set. Clicking on the set name retrieves the home page for the set. While this organization is convenient for browsing, it does not fulfill the needs of the typical user: to easily locate matrices which have certain properties of interest. To satisfy this need we have developed a WWW-based tool which allows users to query the Matrix and Set databases.

The Database Query tool is an HTML form which allows the user to specify a large variety of attributes describing selection criteria for matrices. Choice widgets are presented which allow selection based on predefined attributes in the database : arithmetic field (real, complex, pattern), symmetry (symmetric, unsymmetric, unsymmetric with symmetric structure, Hermitian, skew symmetric), definiteness (indefinite, positive definite, positive semidefinite, etc.), nonzero structure (banded, sparse, diagonal, block tridiagonal), storage mode (assembled, elemental), and shape (square, more rows than columns, more columns than rows). Text fields are available for users to specify the minimum and maximum number of rows, columns and nonzeros. Additional buttons allow the user to require that right-hand sides, exact solutions, or initial vectors be available. Finally, a text field allows the user to specify arbitrary patterns to match in the database entries themselves. This allows users to search for words or phrases that appear in narrative descriptions of the matrices, titles and authors of references, etc.

Only matrices which satisfy all of the requirements set down in this form are retrieved. The search engine is a C program which uses Unix egrep to perform searches in the database files. Although this implementation was initially considered a prototype, it has proven capable of handling the modest load and fairly small database required of a specialized tool such as the Matrix Market. Matches are returned on a WWW page organized by matrix set. Links to the home pages of individual matrices as well as the sets are provided.

A separate form is available for selecting matrices based upon Application Domain. Information describing the origins of the matrices in the collection is provided in the database, and hence the free-text search facility in the general search tool could be used for this purpose. However, since uniform terminology is not used in describing the application domains such a scheme is unreliable. To improve upon this, this form presents a set of links, identified by application domain, which result in the execution of predefined queries on the general search engine which are known to succeed. As a result, the format of the returned result is the same as for the general search tool.

An additional form enumerates the Contributors (i.e., institutions) who provided matrix sets to the collection. These are organized by the institution type, i.e. industry, government, and academia. This tool is implemented in the same way as the Application Domain search tool.


next up previous
Next: Downloading Matrices Up: HTML Interfaces for Matrix Previous: Matrix Home Pages

Jack Dongarra
Thu May 30 12:55:31 EDT 1996