Actual source code: taosolverregi.c
1: #define TAOSOLVER_DLL
3: #include "include/private/taosolver_impl.h" /*I "taosolver.h" I*/
32: /*
33: Offset the convergence reasons so negative number represent diverged and
34: positive represent converged.
35: */
36: const char *TaoSolverTerminationReasons_Shifted[] = {
37: "DIVERGED_USER",
38: "DIVERGED_TR_REDUCTION",
39: "DIVERGED_LS_FAILURE",
40: "DIVERGED_MAXFCN",
41: "DIVERGED_NAN",
42: "DIVERGED_MAXITS",
43: "DIVERGED_FUNCTION_DOMAIN",
44:
45: "CONTINUE_ITERATING",
46:
47: "CONVERGED_FATOL",
48: "CONVERGED_FRTOL",
49: "CONVERGED_GATOL",
50: "CONVERGED_GRTOL",
51: "CONVERGED_GTTOL",
52: "CONVERGED_STEPTOL",
53: "CONVERGED_MINF",
54: "CONVERGED_USER" };
55: const char **TaoSolverTerminationReasons = TaoSolverTerminationReasons_Shifted + 8;
57:
64: /*@C
65: TaoSolverRegisterAll - Registersall of the minimization methods in the TAO
66: package.
68: Not Collective
70: Level: developer
72: .seealso TaoSolverRegister(), TaoSolverRegisterDestroy()
73: @*/
74: PetscErrorCode TaoSolverRegisterAll(const char path[])
75: {
77:
79: TaoSolverRegisterAllCalled = PETSC_TRUE;
80:
81: TaoSolverRegisterDynamic("tao_lmvm",path,"TaoCreate_LMVM",TaoCreate_LMVM);
82: TaoSolverRegisterDynamic("tao_nls",path,"TaoCreate_NLS",TaoCreate_NLS);
83: TaoSolverRegisterDynamic("tao_ntr",path,"TaoCreate_NTR",TaoCreate_NTR);
84: TaoSolverRegisterDynamic("tao_ntl",path,"TaoCreate_NTL",TaoCreate_NTL);
85: TaoSolverRegisterDynamic("tao_cg",path,"TaoCreate_CG",TaoCreate_CG);
86: TaoSolverRegisterDynamic("tao_tron",path,"TaoCreate_TRON",TaoCreate_TRON);
88: TaoSolverRegisterDynamic("tao_blmvm",path,"TaoCreate_BLMVM",TaoCreate_BLMVM);
89: TaoSolverRegisterDynamic("tao_bqpip",path,"TaoCreate_BQPIP",TaoCreate_BQPIP);
91: TaoSolverRegisterDynamic("tao_gpcg",path,"TaoCreate_GPCG",TaoCreate_GPCG);
92: TaoSolverRegisterDynamic("tao_nm",path,"TaoCreate_NM",TaoCreate_NM);
94: TaoSolverRegisterDynamic("tao_pounders",path,"TaoCreate_POUNDERS",TaoCreate_POUNDERS);
98: TaoSolverRegisterDynamic("tao_lcl",path,"TaoCreate_LCL",TaoCreate_LCL);
99: TaoSolverRegisterDynamic("tao_ssils",path,"TaoCreate_SSILS",TaoCreate_SSILS);
100: TaoSolverRegisterDynamic("tao_ssfls",path,"TaoCreate_SSFLS",TaoCreate_SSFLS);
101: TaoSolverRegisterDynamic("tao_asils",path,"TaoCreate_ASILS",TaoCreate_ASILS);
102: TaoSolverRegisterDynamic("tao_asfls",path,"TaoCreate_ASFLS",TaoCreate_ASFLS);
106: TaoSolverRegisterDynamic("tao_fd_test",path,"TaoCreate_FD",TaoCreate_FD);
109:
110: return(0);
111: }
112: