Actual source code: taosolverregi.c

petsc-3.12.5 2020-03-29
Report Typos and Errors
  1: #define TAO_DLL

  3:  #include <petsc/private/taoimpl.h>


  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_BQNLS(Tao);
 17: PETSC_EXTERN PetscErrorCode TaoCreate_BNCG(Tao);
 18: PETSC_EXTERN PetscErrorCode TaoCreate_BNLS(Tao);
 19: PETSC_EXTERN PetscErrorCode TaoCreate_BNTR(Tao);
 20: PETSC_EXTERN PetscErrorCode TaoCreate_BNTL(Tao);
 21: PETSC_EXTERN PetscErrorCode TaoCreate_BQNKLS(Tao);
 22: PETSC_EXTERN PetscErrorCode TaoCreate_BQNKTR(Tao);
 23: PETSC_EXTERN PetscErrorCode TaoCreate_BQNKTL(Tao);
 24: PETSC_EXTERN PetscErrorCode TaoCreate_GPCG(Tao);
 25: PETSC_EXTERN PetscErrorCode TaoCreate_BQPIP(Tao);
 26: PETSC_EXTERN PetscErrorCode TaoCreate_POUNDERS(Tao);
 27: PETSC_EXTERN PetscErrorCode TaoCreate_BRGN(Tao);
 28: PETSC_EXTERN PetscErrorCode TaoCreate_LCL(Tao);
 29: PETSC_EXTERN PetscErrorCode TaoCreate_SSILS(Tao);
 30: PETSC_EXTERN PetscErrorCode TaoCreate_SSFLS(Tao);
 31: PETSC_EXTERN PetscErrorCode TaoCreate_ASILS(Tao);
 32: PETSC_EXTERN PetscErrorCode TaoCreate_ASFLS(Tao);
 33: PETSC_EXTERN PetscErrorCode TaoCreate_IPM(Tao);
 34: PETSC_EXTERN PetscErrorCode TaoCreate_Shell(Tao);

 36: /*
 37:    Offset the convergence reasons so negative number represent diverged and
 38:    positive represent converged.
 39: */
 40: const char *TaoConvergedReasons_Shifted[] = {
 41:     "DIVERGED_USER",
 42:     "DIVERGED_TR_REDUCTION",
 43:     "DIVERGED_LS_FAILURE",
 44:     "DIVERGED_MAXFCN",
 45:     "DIVERGED_NAN",
 46:     "DIVERGED_MAXITS",
 47:     "DIVERGED_FUNCTION_DOMAIN",

 49:     "CONTINUE_ITERATING",

 51:     "",
 52:     "",
 53:     "CONVERGED_GATOL",
 54:     "CONVERGED_GRTOL",
 55:     "CONVERGED_GTTOL",
 56:     "CONVERGED_STEPTOL",
 57:     "CONVERGED_MINF",
 58:     "CONVERGED_USER" };
 59: const char **TaoConvergedReasons = TaoConvergedReasons_Shifted + 7;

 61: /*@C
 62:   TaoRegisterAll - Registers all of the minimization methods in the TAO
 63:   package.

 65:   Not Collective

 67:   Level: developer

 69: .seealso TaoRegister(), TaoRegisterDestroy()
 70: @*/
 71: PetscErrorCode TaoRegisterAll(void)
 72: {
 73: #if !defined(PETSC_USE_COMPLEX)
 75: #endif

 78:   if (TaoRegisterAllCalled) return(0);
 79:   TaoRegisterAllCalled = PETSC_TRUE;
 80: #if !defined(PETSC_USE_COMPLEX)
 81:   TaoRegister(TAOLMVM,TaoCreate_LMVM);
 82:   TaoRegister(TAONLS,TaoCreate_NLS);
 83:   TaoRegister(TAONTR,TaoCreate_NTR);
 84:   TaoRegister(TAONTL,TaoCreate_NTL);
 85:   TaoRegister(TAOCG,TaoCreate_CG);
 86:   TaoRegister(TAOTRON,TaoCreate_TRON);
 87:   TaoRegister(TAOOWLQN,TaoCreate_OWLQN);
 88:   TaoRegister(TAOBMRM,TaoCreate_BMRM);
 89:   TaoRegister(TAOBLMVM,TaoCreate_BLMVM);
 90:   TaoRegister(TAOBQNLS,TaoCreate_BQNLS);
 91:   TaoRegister(TAOBNCG,TaoCreate_BNCG);
 92:   TaoRegister(TAOBNLS,TaoCreate_BNLS);
 93:   TaoRegister(TAOBNTR,TaoCreate_BNTR);
 94:   TaoRegister(TAOBNTL,TaoCreate_BNTL);
 95:   TaoRegister(TAOBQNKLS,TaoCreate_BQNKLS);
 96:   TaoRegister(TAOBQNKTR,TaoCreate_BQNKTR);
 97:   TaoRegister(TAOBQNKTL,TaoCreate_BQNKTL);
 98:   TaoRegister(TAOBQPIP,TaoCreate_BQPIP);
 99:   TaoRegister(TAOGPCG,TaoCreate_GPCG);
100:   TaoRegister(TAONM,TaoCreate_NM);
101:   TaoRegister(TAOPOUNDERS,TaoCreate_POUNDERS);
102:   TaoRegister(TAOBRGN,TaoCreate_BRGN);
103:   TaoRegister(TAOLCL,TaoCreate_LCL);
104:   TaoRegister(TAOSSILS,TaoCreate_SSILS);
105:   TaoRegister(TAOSSFLS,TaoCreate_SSFLS);
106:   TaoRegister(TAOASILS,TaoCreate_ASILS);
107:   TaoRegister(TAOASFLS,TaoCreate_ASFLS);
108:   TaoRegister(TAOIPM,TaoCreate_IPM);
109:   TaoRegister(TAOSHELL,TaoCreate_Shell);
110: #endif
111:   return(0);
112: }