| 6 |
dsic.upv.es!jroman |
1 |
/*
|
| 2265 |
jroman |
2 |
This include file contains definitions of system functions. It is included
|
|
|
3 |
by all other SLEPc include files.
|
| 1376 |
slepc |
4 |
|
|
|
5 |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| 1672 |
slepc |
6 |
SLEPc - Scalable Library for Eigenvalue Problem Computations
|
| 2116 |
eromero |
7 |
Copyright (c) 2002-2010, Universidad Politecnica de Valencia, Spain
|
| 1376 |
slepc |
8 |
|
| 1672 |
slepc |
9 |
This file is part of SLEPc.
|
|
|
10 |
|
|
|
11 |
SLEPc is free software: you can redistribute it and/or modify it under the
|
|
|
12 |
terms of version 3 of the GNU Lesser General Public License as published by
|
|
|
13 |
the Free Software Foundation.
|
|
|
14 |
|
|
|
15 |
SLEPc is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
|
16 |
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
17 |
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
|
|
|
18 |
more details.
|
|
|
19 |
|
|
|
20 |
You should have received a copy of the GNU Lesser General Public License
|
|
|
21 |
along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
|
| 1376 |
slepc |
22 |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| 6 |
dsic.upv.es!jroman |
23 |
*/
|
| 1376 |
slepc |
24 |
|
| 6 |
dsic.upv.es!jroman |
25 |
#if !defined(__SLEPC_H)
|
|
|
26 |
#define __SLEPC_H
|
|
|
27 |
|
|
|
28 |
/* ========================================================================== */
|
|
|
29 |
/*
|
| 2265 |
jroman |
30 |
slepcconf.h is created by the configure script and placed in ${PETSC_ARCH}/include.
|
|
|
31 |
It contains macro definitions set at configure time.
|
|
|
32 |
*/
|
|
|
33 |
#include "slepcconf.h"
|
|
|
34 |
|
|
|
35 |
/* ========================================================================== */
|
|
|
36 |
/*
|
| 6 |
dsic.upv.es!jroman |
37 |
Current SLEPc version number and release date
|
|
|
38 |
*/
|
|
|
39 |
#include "slepcversion.h"
|
| 2269 |
jroman |
40 |
#define SLEPC_AUTHOR_INFO " The SLEPc Team\n slepc-maint@grycap.upv.es\n http://www.grycap.upv.es/slepc\n"
|
|
|
41 |
#if (SLEPC_VERSION_RELEASE == 1)
|
|
|
42 |
#define SlepcGetVersion(version,len) PetscSNPrintf(version,len,"SLEPc Release Version %d.%d, Patch %d, %s", \
|
|
|
43 |
SLEPC_VERSION_MAJOR,SLEPC_VERSION_MINOR, \
|
| 2316 |
jroman |
44 |
SLEPC_VERSION_PATCH,SLEPC_VERSION_PATCH_DATE)
|
| 2269 |
jroman |
45 |
#else
|
|
|
46 |
#define SlepcGetVersion(version,len) PetscSNPrintf(version,len,"SLEPc Development SVN revision: %d SVN Date: %s", \
|
|
|
47 |
SLEPC_VERSION_SVN, SLEPC_VERSION_DATE_SVN)
|
|
|
48 |
#endif
|
|
|
49 |
/*MC
|
|
|
50 |
SlepcGetVersion - Gets the SLEPc version information in a string.
|
| 6 |
dsic.upv.es!jroman |
51 |
|
| 2269 |
jroman |
52 |
Input Parameter:
|
|
|
53 |
. len - length of the string
|
|
|
54 |
|
|
|
55 |
Output Parameter:
|
|
|
56 |
. version - version string
|
|
|
57 |
|
|
|
58 |
Level: developer
|
|
|
59 |
|
|
|
60 |
Usage:
|
|
|
61 |
char version[256];
|
|
|
62 |
ierr = SlepcGetVersion(version,256);CHKERRQ(ierr)
|
|
|
63 |
|
|
|
64 |
Fortran Note:
|
|
|
65 |
This routine is not supported in Fortran.
|
|
|
66 |
M*/
|
|
|
67 |
|
| 6 |
dsic.upv.es!jroman |
68 |
/* ========================================================================== */
|
|
|
69 |
/*
|
|
|
70 |
The PETSc include files.
|
|
|
71 |
*/
|
| 2265 |
jroman |
72 |
#include "petscsys.h"
|
| 6 |
dsic.upv.es!jroman |
73 |
#include "petscvec.h"
|
|
|
74 |
#include "petscmat.h"
|
| 2283 |
jroman |
75 |
/*
|
|
|
76 |
slepcimpl.h contains definitions common to all SLEPc objects
|
|
|
77 |
*/
|
|
|
78 |
#include "private/slepcimpl.h"
|
| 6 |
dsic.upv.es!jroman |
79 |
|
| 476 |
dsic.upv.es!antodo |
80 |
PETSC_EXTERN_CXX_BEGIN
|
| 6 |
dsic.upv.es!jroman |
81 |
/*
|
|
|
82 |
Initialization of SLEPc and other system routines
|
|
|
83 |
*/
|
| 2240 |
jroman |
84 |
extern PetscErrorCode SlepcInitialize(int*,char***,char[],const char[]);
|
|
|
85 |
extern PetscErrorCode SlepcFinalize(void);
|
|
|
86 |
extern PetscErrorCode SlepcInitializeFortran(void);
|
| 6 |
dsic.upv.es!jroman |
87 |
|
| 2240 |
jroman |
88 |
extern PetscErrorCode SlepcVecSetRandom(Vec,PetscRandom);
|
|
|
89 |
extern PetscErrorCode SlepcIsHermitian(Mat,PetscBool*);
|
| 502 |
dsic.upv.es!antodo |
90 |
#if !defined(PETSC_USE_COMPLEX)
|
| 2240 |
jroman |
91 |
extern PetscReal SlepcAbsEigenvalue(PetscScalar,PetscScalar);
|
| 502 |
dsic.upv.es!antodo |
92 |
#else
|
|
|
93 |
#define SlepcAbsEigenvalue(x,y) PetscAbsScalar(x)
|
|
|
94 |
#endif
|
| 2240 |
jroman |
95 |
extern PetscErrorCode SlepcVecNormalize(Vec,Vec,PetscBool,PetscReal*);
|
|
|
96 |
extern PetscErrorCode SlepcMatConvertSeqDense(Mat,Mat*);
|
| 2294 |
jroman |
97 |
extern PetscErrorCode SlepcMatTile(PetscScalar,Mat,PetscScalar,Mat,PetscScalar,Mat,PetscScalar,Mat,Mat*);
|
| 2240 |
jroman |
98 |
extern PetscErrorCode SlepcCheckOrthogonality(Vec*,PetscInt,Vec *,PetscInt,Mat,PetscScalar*);
|
|
|
99 |
extern PetscErrorCode SlepcUpdateVectors(PetscInt,Vec*,PetscInt,PetscInt,const PetscScalar*,PetscInt,PetscBool);
|
|
|
100 |
extern PetscErrorCode SlepcUpdateStrideVectors(PetscInt n_,Vec *V,PetscInt s,PetscInt d,PetscInt e,const PetscScalar *Q,PetscInt ldq_,PetscBool qtrans);
|
|
|
101 |
extern PetscErrorCode SlepcVecMAXPBY(Vec,PetscScalar,PetscScalar,PetscInt,PetscScalar*,Vec*);
|
| 877 |
dsic.upv.es!jroman |
102 |
|
| 2216 |
jroman |
103 |
extern PetscBool SlepcInitializeCalled;
|
| 1409 |
slepc |
104 |
|
| 476 |
dsic.upv.es!antodo |
105 |
PETSC_EXTERN_CXX_END
|
| 6 |
dsic.upv.es!jroman |
106 |
#endif
|
|
|
107 |
|