Actual source code: taosolverregi.c
petsc-3.7.1 2016-05-15
Report Typos and Errors

      1: #define TAO_DLL

      3: #include <petsc/private/taoimpl.h> /*I "petsctao.h" I*/

      6: PETSC_EXTERN PetscErrorCode TaoCreate_LMVM(Tao);
      7: PETSC_EXTERN PetscErrorCode TaoCreate_NLS(Tao);
      8: PETSC_EXTERN PetscErrorCode TaoCreate_NTR(Tao);
      9: PETSC_EXTERN PetscErrorCode TaoCreate_NTL(Tao);
     10: PETSC_EXTERN PetscErrorCode TaoCreate_NM(Tao);
     11: PETSC_EXTERN PetscErrorCode TaoCreate_CG(Tao);
     12: PETSC_EXTERN PetscErrorCode TaoCreate_TRON(Tao);
     13: PETSC_EXTERN PetscErrorCode TaoCreate_OWLQN(Tao);
     14: PETSC_EXTERN PetscErrorCode TaoCreate_BMRM(Tao);
     15: PETSC_EXTERN PetscErrorCode TaoCreate_BLMVM(Tao);
     16: PETSC_EXTERN PetscErrorCode TaoCreate_GPCG(Tao);
     17: PETSC_EXTERN PetscErrorCode TaoCreate_BQPIP(Tao);
     18: PETSC_EXTERN PetscErrorCode TaoCreate_POUNDERS(Tao);
     19: PETSC_EXTERN PetscErrorCode TaoCreate_Test(Tao);
     20: PETSC_EXTERN PetscErrorCode TaoCreate_LCL(Tao);
     21: PETSC_EXTERN PetscErrorCode TaoCreate_SSILS(Tao);
     22: PETSC_EXTERN PetscErrorCode TaoCreate_SSFLS(Tao);
     23: PETSC_EXTERN PetscErrorCode TaoCreate_ASILS(Tao);
     24: PETSC_EXTERN PetscErrorCode TaoCreate_ASFLS(Tao);
     25: PETSC_EXTERN PetscErrorCode TaoCreate_IPM(Tao);

     27: /*
     28:    Offset the convergence reasons so negative number represent diverged and
     29:    positive represent converged.
     30: */
     31: const char *TaoConvergedReasons_Shifted[] = {
     32:     "DIVERGED_USER",
     33:     "DIVERGED_TR_REDUCTION",
     34:     "DIVERGED_LS_FAILURE",
     35:     "DIVERGED_MAXFCN",
     36:     "DIVERGED_NAN",
     37:     "DIVERGED_MAXITS",
     38:     "DIVERGED_FUNCTION_DOMAIN",

     40:     "CONTINUE_ITERATING",

     42:     "",
     43:     "",
     44:     "CONVERGED_GATOL",
     45:     "CONVERGED_GRTOL",
     46:     "CONVERGED_GTTOL",
     47:     "CONVERGED_STEPTOL",
     48:     "CONVERGED_MINF",
     49:     "CONVERGED_USER" };
     50: const char **TaoConvergedReasons = TaoConvergedReasons_Shifted + 7;
     51: extern PetscBool TaoRegisterAllCalled;

     55: /*@C
     56:   TaoRegisterAll - Registers all of the minimization methods in the TAO
     57:   package.

     59:   Not Collective

     61:   Level: developer

     63: .seealso TaoRegister(), TaoRegisterDestroy()
     64: @*/
     65: PetscErrorCode TaoRegisterAll()
     66: {

     70:   if (TaoRegisterAllCalled) return(0);
     71:   TaoRegisterAllCalled = PETSC_TRUE;
     72: #if !defined(PETSC_USE_COMPLEX)
     73:   TaoRegister(TAOLMVM,TaoCreate_LMVM);
     74:   TaoRegister(TAONLS,TaoCreate_NLS);
     75:   TaoRegister(TAONTR,TaoCreate_NTR);
     76:   TaoRegister(TAONTL,TaoCreate_NTL);
     77:   TaoRegister(TAOCG,TaoCreate_CG);
     78:   TaoRegister(TAOTRON,TaoCreate_TRON);
     79:   TaoRegister(TAOOWLQN,TaoCreate_OWLQN);
     80:   TaoRegister(TAOBMRM,TaoCreate_BMRM);
     81:   TaoRegister(TAOBLMVM,TaoCreate_BLMVM);
     82:   TaoRegister(TAOBQPIP,TaoCreate_BQPIP);
     83:   TaoRegister(TAOGPCG,TaoCreate_GPCG);
     84:   TaoRegister(TAONM,TaoCreate_NM);
     85:   TaoRegister(TAOPOUNDERS,TaoCreate_POUNDERS);
     86:   TaoRegister(TAOLCL,TaoCreate_LCL);
     87:   TaoRegister(TAOSSILS,TaoCreate_SSILS);
     88:   TaoRegister(TAOSSFLS,TaoCreate_SSFLS);
     89:   TaoRegister(TAOASILS,TaoCreate_ASILS);
     90:   TaoRegister(TAOASFLS,TaoCreate_ASFLS);
     91:   TaoRegister(TAOIPM,TaoCreate_IPM);
     92: #endif
     93:   TaoRegister(TAOTEST,TaoCreate_Test);
     94:   return(0);
     95: }