The problem is defined by the following data:
[ ]
, or left
unspecified. In any of these cases,
the corresponding fields of
Important: In order to be able to use the mex files,
all block diagonal matrices must be stored in Matlab's
sparse
format, unless they contain only one block.
In particular, must be stored in sparse format, unless it
has only one block. If it has only one block, it may be stored
in either sparse or full format. The vectors
,
and
are stored in full format.
The matrices
and
may be stored in either sparse or
full format. There are four different ways to set up the
matrix
, whose rows represent
:
The block diagonal matrix M passed to svec.m
must be stored in sparse format if it has more than one block.
By default, the blocks are assumed to be dense. If the user wishes to
take advantage of the sparsity in the blocks of the matrix M,
then a third, optional parameter
sparseblks can be passed to svec.m. When
, svec.m treats the blocks as sparse,
and returns a sparse vector.
These routines preserve the inner
product, i.e. if and
for block diagonal matrices M, N, then
where blk.s is as above and Amat is a one-dimensional
cell array. The
kth component of the cell array Amat is the matrix .
Cell arrays are indexed using braces
. For example,
to set
assign a matrix value to
Amat{3}; this must be in sparse format if it has more
than one block. The individual blocks of the block diagonal data
matrices are treated by default as being dense.
If they are sparse, and the user wishes to take
advantage of this sparsity, a third optional parameter spblocks
may be passed to makeA.m, and this parameter
should be set to the value 1.
In this case the matrix
will be stored using the sparse matrix
storage option.
The ASCII data in the file must be stored in a special compact format that is described in Appendix A. The file name must have a period and an extension (anything other than the standard Matlab extensions mat, mex etc.) following the period. The user-specified extension is important as Matlab treats file names without an extension as mat files. The routine export.m implements the reverse operation, saving a problem's data in an ASCII file, in a format recognized by import.m.