Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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