Actual source code: itregis.c
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2011, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7:
8: SLEPc is free software: you can redistribute it and/or modify it under the
9: terms of version 3 of the GNU Lesser General Public License as published by
10: the Free Software Foundation.
12: SLEPc is distributed in the hope that it will be useful, but WITHOUT ANY
13: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14: FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15: more details.
17: You should have received a copy of the GNU Lesser General Public License
18: along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
19: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20: */
22: #include <private/epsimpl.h> /*I "slepceps.h" I*/
24: EXTERN_C_BEGIN
25: extern PetscErrorCode EPSCreate_Power(EPS);
26: extern PetscErrorCode EPSCreate_Subspace(EPS);
27: extern PetscErrorCode EPSCreate_Arnoldi(EPS);
28: extern PetscErrorCode EPSCreate_Lanczos(EPS);
29: extern PetscErrorCode EPSCreate_KrylovSchur(EPS);
30: #if defined(SLEPC_HAVE_ARPACK)
31: extern PetscErrorCode EPSCreate_ARPACK(EPS);
32: #endif
33: extern PetscErrorCode EPSCreate_LAPACK(EPS);
34: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
35: extern PetscErrorCode EPSCreate_BLZPACK(EPS);
36: #endif
37: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
38: extern PetscErrorCode EPSCreate_TRLAN(EPS);
39: #endif
40: #if defined(SLEPC_HAVE_BLOPEX)
41: extern PetscErrorCode EPSCreate_BLOPEX(EPS);
42: #endif
43: #if defined(SLEPC_HAVE_PRIMME)
44: extern PetscErrorCode EPSCreate_PRIMME(EPS eps);
45: #endif
46: extern PetscErrorCode EPSCreate_GD(EPS eps);
47: extern PetscErrorCode EPSCreate_JD(EPS eps);
48: EXTERN_C_END
49:
52: /*@C
53: EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
55: Not Collective
57: Level: advanced
59: .seealso: EPSRegisterDynamic()
60: @*/
61: PetscErrorCode EPSRegisterAll(const char *path)
62: {
66: EPSRegisterAllCalled = PETSC_TRUE;
67: EPSRegisterDynamic(EPSKRYLOVSCHUR,path,"EPSCreate_KrylovSchur",EPSCreate_KrylovSchur);
68: EPSRegisterDynamic(EPSPOWER,path,"EPSCreate_Power",EPSCreate_Power);
69: EPSRegisterDynamic(EPSSUBSPACE,path,"EPSCreate_Subspace",EPSCreate_Subspace);
70: EPSRegisterDynamic(EPSARNOLDI,path,"EPSCreate_Arnoldi",EPSCreate_Arnoldi);
71: EPSRegisterDynamic(EPSLANCZOS,path,"EPSCreate_Lanczos",EPSCreate_Lanczos);
72: EPSRegisterDynamic(EPSGD,path,"EPSCreate_GD",EPSCreate_GD);
73: EPSRegisterDynamic(EPSJD,path,"EPSCreate_JD",EPSCreate_JD);
74: EPSRegisterDynamic(EPSLAPACK,path,"EPSCreate_LAPACK",EPSCreate_LAPACK);
75: #if defined(SLEPC_HAVE_ARPACK)
76: EPSRegisterDynamic(EPSARPACK,path,"EPSCreate_ARPACK",EPSCreate_ARPACK);
77: #endif
78: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
79: EPSRegisterDynamic(EPSBLZPACK,path,"EPSCreate_BLZPACK",EPSCreate_BLZPACK);
80: #endif
81: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
82: EPSRegisterDynamic(EPSTRLAN,path,"EPSCreate_TRLAN",EPSCreate_TRLAN);
83: #endif
84: #if defined(SLEPC_HAVE_BLOPEX)
85: EPSRegisterDynamic(EPSBLOPEX,path,"EPSCreate_BLOPEX",EPSCreate_BLOPEX);
86: #endif
87: #if defined(SLEPC_HAVE_PRIMME)
88: EPSRegisterDynamic(EPSPRIMME,path,"EPSCreate_PRIMME",EPSCreate_PRIMME);
89: #endif
90: return(0);
91: }