The problem is defined by the following data:
[ ]
, or left
unspecified. In any of these cases,
the corresponding fields of and ,
if set, will be ignored.
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.