next up previous contents
Next: Improvement of the function Up: Implementation Previous: Hessian procedure   Contents


Storage

The boxes generated by the bisection process are stored in an interval matrix:
 
Box_Solve_General_Interval(M,m)
while the corresponding Jacobian matrix is stored in the interval matrix of size (M, m $\times$ n):
 
Gradient_Solve_JH_Interval
The purpose of storing the gradient for each box is to avoid to re-compute a gradient as soon as it has been determined that a father of the box has already a gradient with a constant sign. This has the drawback that for large problems this storage will be also large: hence it is possible to avoid this storage by setting the variable ALIAS_Store_Gradient to 0 (its default value is 1). Note that here we store the interval gradient matrix and not the simplified gradient matrix as in the solving procedure involving only the Jacobian.

The algorithm try to manage the storage in order to solve the problem with the given number M (see section 2.3.1.2). As seen in section 2.3.1.2 two storage modes are available, the Direct Storage and the Reverse Storage modes, which are obtained by setting the global variable Reverse_Storage to 0 (the default value) or to the number of unknowns+1.

For both modes the algorithm will first run until the bisection of the current box leads to a total number of boxes which exceed the allowed total number. It will then delete the boxes in the list which have been already bisected, thereby freeing some storage space (usually larger for the reverse mode than for the direct mode) and will start again.

If the procedure has to be used more than once it is possible to speed up the computation by allocating the storage space before calling the procedure. Then you may indicate that the storage space has been allocated beforehand by indicating a negative value for M, the number of boxes being given by the absolute value of M.


next up previous contents
Next: Improvement of the function Up: Implementation Previous: Hessian procedure   Contents
Jean-Pierre Merlet 2012-12-20