Initializing help system before first use

XPRSgetcols, XPRSgetcols64

Purpose
Returns the nonzeros in the constraint matrix for the columns in a given range.
Topic area
Synopsis
int XPRS_CC XPRSgetcols(XPRSprob prob, int start[], int rowind[], double rowcoef[], int maxcoefs, int *p_ncoefs, int first, int last);

int XPRS_CC XPRSgetcols64(XPRSprob prob, XPRSint64 start[], int rowind[], double rowcoef[], XPRSint64 maxcoefs, XPRSint64 *p_ncoefs, int first, int last);
Arguments
prob 
The current problem.
start 
Integer array which will be filled with the indices indicating the starting offsets in the rowind and rowcoef arrays for each requested column. It must be of length at least last-first+2. Column i starts at position start[i] in the rowind and rowcoef arrays, and has start[i+1]-start[i] elements in it. May be NULL if not required.
rowind 
Integer array of length maxcoefs which will be filled with the row indices of the nonzero coefficents for each column. May be NULL if not required.
rowcoef 
Double array of length maxcoefs which will be filled with the nonzero coefficient values. May be NULL if not required.
maxcoefs 
The size of the rowind and rowcoef arrays. This is the maximum number of nonzero coefficients that the Optimizer is allowed to return.
p_ncoefs 
Pointer to an integer where the number of nonzero coefficients in the selected columns will be returned. If p_ncoefs exceeds maxcoefs, only the maxcoefs first nonzero coefficients will be returned. May be NULL if not required.
first 
First column in the range.
last 
Last column in the range.
Example
The following examples retrieves the number of nonzero coefficients in all columns of the problem:
int ncoefs, cols, first = 0, last;
...
XPRSgetintattrib(prob,XPRS_COLS,&cols);
last = cols-1;
XPRSgetcols(prob,NULL,NULL,NULL,0,&ncoefs,first,last);
See also example tableau.c.
Further information
It is possible to obtain just the number of elements in the range of columns by replacing start, rowind and rowcoef by NULL, as in the example. In this case, maxcoefs must be set to 0 to indicate that the length of arrays passed is zero. This is demonstrated in the example above.
Related topics

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.