Overview | Group | Tree | Graph | Index | Concepts |
The routine CPXgetquad
is used to access a range of
columns of the matrix Q of a model with a quadratic objective function.
The beginning and
end of the range, along with the length of the arrays in which the nonzero
entries of these columns are to be returned, must be specified.
Specifically, column j
consists of the entries in
qmatval
and qmatind
in the range
from qmatbeg[j - begin]
to qmatbeg[(j + 1) - begin]-1
.
(Column end
consists of the entries
from qmatbeg[end - begin]
to nzcnt_p-1
.)
This array must be of length at least
(end
- begin
+ 1
).
A nonnegative value of surplus_p
indicates
that the length of the arrays was sufficient.
A negative value indicates that the length was insufficient and
that the routine could not complete its task.
In this case, CPXgetquad
returns the value
CPXERR_NEGATIVE_SURPLUS
, and
the negative value of surplus_p
indicates the amount of insufficient space in the arrays.
qmatspace
is zero, the negative of the value of
surplus_p
returned indicates the length needed for the arrays
qmatind
and qmatval
.Example
status = CPXgetquad (env, lp, &nzcnt, qmatbeg, qmatind, qmatval, cmatspace, &surplus, 0, cur_numquad-1);
env | A pointer to the CPLEX environment as returned by |
lp | A pointer to a CPLEX problem object as returned by |
nzcnt_p | A pointer to an integer to contain the number of nonzeros returned; that is, the true length of the arrays |
qmatbeg | An array to contain indices indicating where each of the requested columns of Q begins in the arrays |
qmatind | An array to contain the row indices associated with the elements of |
qmatval | An array to contain the nonzero coefficients of the specified columns. May be NULL if |
qmatspace | An integer indicating the length of the arrays |
surplus_p | A pointer to an integer to contain the difference between |
begin | An integer indicating the beginning of the range of columns to be returned. |
end | An integer indicating the end of the range of columns to be returned. |