Initializing help system before first use

XSLPchgcoef

XSLPchgcoef


Purpose
Add or change a single matrix coefficient using a parsed or unparsed formula
Synopsis
int XPRS_CC XSLPchgcoef(XSLPprob Prob, int RowIndex, int ColIndex, double *Factor, int Parsed, int *Type, double *Value);
Arguments
Prob 
The current SLP problem.
RowIndex 
The index of the matrix row for the coefficient.
ColIndex 
The index of the matrix column for the coefficient.
Factor 
Address of a double precision variable holding the constant multiplier for the formula. If Factor is NULL, a value of 1.0 will be used.
Parsed 
Integer indicating the whether the token arrays are formatted as internal unparsed ( Parsed=0) or internal parsed reverse Polish ( Parsed=1).
Type 
Array of token types providing the description and formula for each item.
Value 
Array of values corresponding to the types in Type.
Example
Assuming that the columns of the matrix are named Col1, Col2, etc, the following example puts the formula 2.5*sin(Col1) into the coefficient in row 1, column 3.
int n, iSin, Type[4];
double Value[4];
double Factor;

XSLPgetindex(Prob, XSLP_INTERNALFUNCNAMESNOCASE,
             "sin", &iSin);

n = 0;
Type[n] = XSLP_IFUN; Value[n++] = iSin;
Type[n] = XSLP_VAR;  Value[n++] = 1;
Type[n++] = XSLP_RB;
Type[n++] = XSLP_EOF;

Factor = 2.5;
XSLPchgcoef(Prob, 1, 3, &Factor, 0, Type, Value);

XSLPgetindex is used to retrieve the index for the internal function sin. The "nocase" version matches the function name regardless of the (upper or lower) case of the name.

Token type XSLP_VAR always counts from 1, so Col1 is always 1.

The formula is written in unparsed form (Parsed = 0) and so it is provided as tokens in the same order as they would appear if the formula were written in character form.


Further information

If the coefficient already exists as a constant or formula, it will be changed into the new coefficient. If it does not exist, it will be added to the problem.

A coefficient is made up of two parts: Factor and Formula. Factor is a constant multiplier which can be provided in the Factor variable. If Xpress NonLinear can identify a constant factor in the Formula, then it will use that as well, to minimize the size of the formula which has to be calculated.


Related topics

© 2001-2019 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.