| 1 |
{\scriptsize |
| 2 |
\begin{verbatim} |
| 3 |
... ... |
| 4 |
| ) |
| 5 |
| (---- store new values xx(i), gg(i) to OPWARMD (first 2 entries) |
| 6 |
| )---- >>> if ifail = 7,8,9 <<< |
| 7 |
| ( goto 1000 |
| 8 |
| ) |
| 9 |
| (---- compute new pointers jmin, jmax to include latest values |
| 10 |
| ) gg(i)-gg(i-1), xx(i)-xx(i-1) to Hessian matrix estimate |
| 11 |
| (---- store gg(i)-gg(i-1), xx(i)-xx(i-1) to OPWARMD |
| 12 |
| ) (entries 2*jmax+2, 2*jmax+3) |
| 13 |
| ( |
| 14 |
| )---- CALL DGSCALE |
| 15 |
| ( | |
| 16 |
| ) |---- call dostore |
| 17 |
| ( | | |
| 18 |
| ) | |---- read preconditioner of previous iteration diag(i-1) |
| 19 |
| ( | from OPWARMD (3rd entry) |
| 20 |
| ) | |
| 21 |
| ( |---- compute new preconditioner diag(i), based upon diag(i-1), |
| 22 |
| ) | gg(i)-gg(i-1), xx(i)-xx(i-1) |
| 23 |
| ( | |
| 24 |
| ) |---- call dostore |
| 25 |
| ( | |
| 26 |
| ) |---- write new preconditioner diag(i) to OPWARMD (3rd entry) |
| 27 |
| ( |
| 28 |
|---- \\\ end of optimization iteration loop |
| 29 |
| |
| 30 |
| |
| 31 |
| |
| 32 |
|---- CALL OUTSTORE |
| 33 |
| | |
| 34 |
| |---- store gnorm0, ff(i), current pointers jmin, jmax, iterabs to OPWARMI |
| 35 |
| |
| 36 |
|---- >>> if OFFLINE version <<< |
| 37 |
| xx(i+1) needs to be computed as input for offline optimization |
| 38 |
| | |
| 39 |
| |---- CALL LSUPDXX |
| 40 |
| | | |
| 41 |
| | |---- compute dd(i), tact(i) -> xdiff(i+1) = x(i) + tact(i)*dd(i) |
| 42 |
| | |
| 43 |
| |---- CALL WRITE_CONTROL |
| 44 |
| | | |
| 45 |
| | |---- write xdiff(i+1) to special file for offline optim. |
| 46 |
| |
| 47 |
|---- print final information |
| 48 |
| |
| 49 |
O |
| 50 |
\end{verbatim} |
| 51 |
} |