Dealing with undefined expressions

The purpose of the control mechanism is to allow the user to calculate the interval evaluation of terms that may cause a problem for the evaluation and if this a case to attribute a default value to the expression that use these terms. This is done directly at the level of the C++ code.

First of all it will be necessary to define some C++ interval that
will be used during the auxiliary computation. `MakeF` will look
at the string ``ALIAS/user_FINIT`` and if it is not of 0 length
will write it directly after the beginning of the procedure. Hence
writing:

`ALIAS/user_FINIT`:="INTERVAL U;":will allow to use the C++ interval

ALIAS_F:=proc(fid,i)where

For example assume that you have a set of inequalities
function of the variable `x, y` that are
defined in the list `INEQ` and that some of these inequalities may
have interval denominator. Hence before the evaluation it is necessary
to check if the denominator evaluation may include 0, in which case
the whole expression has to be evaluated to a large interval including
0 (indeed the algorithm of `ALIAS` will then consider that this
inequality is not satisfied).
An `ALIAS_F` procedure for this case may be written as:

ALIAS_F:=proc(fid,i) global INEQ: local j,aux: # denom of inequality i is numeric: do nothing if type(denom(op(1,INEQ[i])),numeric) then RETURN(0): fi: # denom is not numeric, evaluate the denominator aux:=denom(op(1,INEQ[i])): # #in the C++ evaluation procedure the unknown are in the table v_IS aux:=subs(x=v_IS(1),y=v_IS(2),aux): #substitute the mathematical operator by their interval equivalent #using ALIAS procedure aux:=`ALIAS/ReplaceText`("..",",",convert(aux,string)): #write the denominator evaluation in the C++ file fprintf(fid,"U=(%s);\n",aux): #if the denominator evaluation include 0 return a large interval #for expression i fprintf(fid,"if((0<=U))V(%d)=INTERVAL(-1.e6,1.e6);\n",i): #otherwise proceed with the real evaluation fprintf(fid,"else\n"): RETURN(0): end:Note that for

A similar mechanism is available for the `MakeJ` procedure.
Before writing the code for the evaluation of the derivative of the
expression `i` with respect to the unknown `j` the procedure
`ALIAS_J` will be called.
The syntax of this procedure is

ALIAS_J:=proc(fid,i,j)Note that in this case is compulsory to return a large interval if the evaluation cannot be done as the derivative may be used to improve the evaluation using a first order Taylor expansion. Note that the C++ procedure created by