Purpose
Returns the
nonzeros in the constraint matrix for the rows in a given range.
Synopsis
int XPRS_CC XPRSgetrows(XPRSprob prob, int mstart[], int mclind[], double dmatval[], int size, int *nels, int
first, int last);
Arguments
prob
|
The current problem.
|
mstart
|
Integer array which will be filled with the indices indicating the starting offsets in the mclind and dmatval arrays for each requested row. It must be of length at least last-first+2. Column i starts at position mstart[i] in the mrwind and dmatval arrays, and has mstart[i+1]-mstart[i] elements in it. May be NULL if not required.
|
mclind
|
Integer arrays of length size which will be filled with the column indices of the nonzero elements for each row. May be NULL if not required.
|
dmatval
|
Double array of length size which will be filled with the nonzero element values. May be NULL if not required.
|
size
|
Maximum number of elements to be retrieved.
|
nels
|
Pointer to the integer where the number of nonzero elements in the mclind and dmatval arrays will be returned. If the number of nonzero elements is greater that size, then only size elements will be returned. If nels is smaller that size, then only nels will be returned.
|
first
|
First row in the range.
|
last
|
Last row in the range.
|
Example
The following example returns and displays at most six nonzero matrix entries in the first two
rows:
int size=6, nels, mstart[3], mclind[6];
double dmatval[6];
...
XPRSgetrows(prob,mstart,mclind,dmatval,size,&nels,0,1);
for(i=0;i<nels;i++) printf("\t%2.1f\n",dmtval[i]);
Further information
It is possible to obtain just the number of elements in the range of columns by
replacing mstart, mclind and dmatval by NULL. In this case,
size must be set to 0 to indicate that the length of arrays passed is 0.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.