1: #include "petsc/finclude/petsctao.h" 2: use petsctao 3: implicit none 5: ! Common blocks: 6: ! In this example we use common blocks to store data needed by the 7: ! Section 1.5 Writing Application Codes with PETSc-provided call-back routines, FormMinimizationFunction(), 8: ! FormFunctionGradient(), and FormHessian(). Note that we can store 9: ! (pointers to) TAO objects within these common blocks. 10: ! 11: ! common /params/ - contains parameters that help to define the Section 1.5 Writing Application Codes with PETSc 12: ! 13: ! alpha, n - define the extended Rosenbrock function: 14: ! sum_{i=0}^{n/2-1} ( alpha*(x_{2i+1}-x_{2i}^2)^2 + (1-x_{2i})^2 ) 16: PetscReal alpha 17: PetscInt n 19: common /params/ alpha, n 21: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -