XPRSbtran


Purpose
Post-multiplies a (row) vector provided by the user by the inverse of the current basis.
Synopsis
int XPRS_CC XPRSbtran(XPRSprob prob, double vec[]);
Arguments
prob 
The current problem.
vec 
Double array of length ROWS containing the values by which the basis inverse is to be multiplied. The transformed values will appear in the array.
Related Controls
Double
Zero tolerance on eta elements.

Example
Get the (unscaled) tableau row z of constraint number irow, assuming that all arrays have been dimensioned.
/* Minimum size of arrays:
y: nrow + ncol;
mstart: 2;
mrowind, dmatval: nrow. */

/* set up the unit vector y to pick out row irow */
for(i = 0; i < nrow; i++) y[i] = 0.0;
y[irow] = 1.0;

rc = XPRSbtran(prob,y);       /* y = e*B^{-1} */

/* Form z = y * A */
for(j = 0; J < ncol, j++) {
  rc = XPRSgetcols(prob, mstart, mrowind, dmatval, 
                   nrow, &nelt, j, j);
  for(d = 0.0, ielt = 0, ielt < nelt; ielt++)
    d += y[mrowind[ielt]] * dmatval[ielt];
  y[nrow + j] = d;
}
Further information
If the matrix is in a presolved state, XPRSbtran will work with the basis for the presolved problem.
Related topics
XPRSftran.


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