XPRSftran
XPRSftran |
Purpose
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
Synopsis
int XPRS_CC XPRSftran(XPRSprob prob, double vec[]);
Arguments
|
prob
|
The current problem.
|
|
vec
|
Double array of length
ROWS containing the values which are to be multiplied by the basis inverse. The transformed values appear in the array.
|
Related controls
Double
|
Tolerance on eta elements.
|
Example
To get the (unscaled) tableau column of structural variable number
jcol, assuming that all arrays have been dimensioned, do the following:
/* Min size of arrays: mstart: 2; mrowind, dmatval & y: nrow. */
/* Get column as loaded originally, in sparse format */
rc = XPRSgetcols(prob, mstart, mrowind, dmatval, nrow, &nelt,
jcol, jcol);
/* Unpack into the zeroed array */
for(i = 0; i < nrow; i++)
y[i] = 0.0;
for(ielt = 0; ielt < nelt; ielt++)
y[mrowind[ielt]] = dmatval[ielt];
rc = XPRSftran(prob,y);
Get the (unscaled) tableau column of the slack variable for row number
irow, assuming that all arrays have been dimensioned.
/* Min size of arrays: y: nrow */ /* Set up the original slack column in full format */ for(i = 0; i < nrow; i++) y[i] = 0.0; y[irow] = 1.0; rc = XPRSftran(prob,y);
Further information
If the matrix is in a presolved state, the function will work with the basis for the presolved problem.
Related topics
