## Description of Problem.kind in the UF Sparse Matrix Collection

Problem.kind is a string describing the problem. It is constructed from the following keywords.

These terms can be added to any Problem.kind (except that sequence and subsequent never appear together).

• ### sequence

This Problem is either the first Problem in a sequence, or contains the entire sequence itself. If contains the sequence, it will contain an aux.whatever cell array (the name of the array is problem dependent); it may contain a Problem.notes field, but the first word of the first line of the notes will not be "next:". This method is used only for problems with a Problem.id of 1378 or higher (matrices added Mar 2006 or earlier). The word "sequence" always appears at the beginning of the string. If this is the first Problem of sequence consisting more than one Problem structs, then the first line of Problem.notes will be of the form

next: Group2/Name2 first: Group/Name

where Group/Name is the first problem in the sequence (the same as the Problem with kind = 'sequence'). The next Problem in the sequence is given by the name "Group2/Name2". This method is used only for Problems with Problem.id of 1377 or less (matrices added on or before March 2006).

• ### subsequent

This Problem is a member of a sequence. It will always contain a Problem.notes field whose first line is of the form

next: Group2/Name2 first: Group/Name

where Group/Name is the first Problem in the sequence, and Group2/Name2 is the next Problem after this one, or "-" if this Problem is the last member of the sequence. The word "subsequent" always appears at the end of the string. This keyword is used only for problems added on March 2006 or before (problems 1 to 1377).

• ### duplicate

This is a duplicate (or near duplicate) of another problem in the collection.
• ### random

This is a randomly generated problem. It may not be purely random. For example, its structure may be non-random (a 2D/3D mesh) but its values may be. Random matrices are included in the collection only if they have been widely used as benchmarks.

## Problems with 2D/3D geometry

• 2D/3D problem
• acoustics problem
• computational fluid dynamics problem
• computer graphics/vision problem
• electromagnetics problem
• materials problem
• model reduction problem
• robotics problem
• semiconductor device problem
• structural problem
• thermal problem

## Problems that normally do not have 2D/3D geometry

• chemical process simulation problem
• circuit simulation problem
• counter-example problem: Some of these may have 2D/3D geometry.
• economic problem
• frequency-domain circuit simulation problem
• least squares problem
• linear programming problem: This Problem is a linear programming problem in the form: minimize c'*x, where A*x=b and lo <= x <= hi. It will have aux.c, aux.lo, aux.hi, and aux.z0 fields (the latter is the starting value of the objective).
• optimization problem
• power network problem
• statistical/mathematical problem
• theoretical/quantum chemistry problem
• combinatorial problem Matrices from Jean-Guillaume Dumas' collection (the JGD_* groups) are given this classification.

## Graph problems

This problem includes the graph or multigraph keyword. It is a network or graph. A graph may or may not have 2D/3D geometry (typically it does not). Several secondary phrases can be included in Problem.kind:
• directed or undirected: A graph is either directed, undirected, or bipartite. (bipartite graphs are always undirected). If not bipartite, the matrix will always be square. Unsymmetric permutations of the matrix have no meaning. If directed, the edge (i,j) is not the same as (j,i), and the matrix will normally be unsymmetric. If undirected, the edges (i,j) and (j,i) are the same, and the matrix is always symmetric.
• weighted: If the graph has edge weights, this word will appear. The edge weight of edge (i,j) is the value of A(i,j). This phrase is used for a graph only, never for a multigraph. If the graph is not weighted, the matrix is binary.
• bipartite: If the rows and columns of the matrix reflect different sets of nodes. The matrix A is normally rectangular, but can be square. Any permutation (unsymmetric or symmetric) of the matrix is meaningful.
• random: This Problem has been randomly generated. It is included in the UF Sparse Matrix Collection only because it has been used as a standard benchmark. Randomly generated problems are otherwise excluded from the collection.
• multigraph or graph: If the matrix represents a multigraph, then A(i,j) reflects the number of edges (i,j). The edges themselves are always unweighted. If the matrix represents a graph, then A(i,j) is either 0 or 1 for an unweighted graph, or the weight of edge (i,j) otherwise.

More phrases in Problem.kind may be added later, as matrices are added to the collection.