Actual source code: taosolverregi.c

petsc-3.7.3 2016-08-01
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: }