XPRSgetcols


Purpose
Returns the nonzeros in the constraint matrix for the columns in a given range.
Synopsis
int XPRS_CC XPRSgetcols(XPRSprob prob, int mstart[], int mrwind[], 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 mrwind and dmatval arrays for each requested column. 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.
mrwind 
Integer array of length size which will be filled with the row indices of the nonzero elements for each column. 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 mrwind and dmatval arrays will be returned. If the number of nonzero elements is greater than size, then only size elements will be returned. If nels is smaller than size, then only nels will be returned.
first 
First column in the range.
last 
Last column in the range.
Example
int nels, cols, first = 0, last; 
...
XPRSgetintattrib(prob,XPRS_COLS,&cols);
last = cols-1;
XPRSgetcols(prob,NULL,NULL,NULL,0,&nels,first,last);
This returns in nels the number of nonzero matrix elements in all columns of the matrix.
Further information
It is possible to obtain just the number of elements in the range of columns by replacing mstart, mrwind and dmatval by NULL, as in the example. In this case, size must be set to 0 to indicate that the length of arrays passed is zero. This is demonstrated in the example above.
Related topics
XPRSgetrows.


If you have any comments or suggestions about these pages, please send mail to docs@dashoptimization.com.