Problem.kind is a string describing the problem. It is constructed from
the following keywords.
Adjectives
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.