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
1251 slepc 1
/*
2
   User interface for the SLEPC singular value solvers.
3
*/
4
#if !defined(__SLEPCSVD_H)
5
#define __SLEPCSVD_H
6
#include "slepc.h"
1253 slepc 7
#include "slepceps.h"
1251 slepc 8
PETSC_EXTERN_CXX_BEGIN
9
 
10
extern PetscCookie SVD_COOKIE;
11
 
12
/*S
13
     SVD - Abstract SLEPc object that manages all the singular value
14
     problem solvers.
15
 
16
   Level: beginner
17
 
18
.seealso:  SVDCreate()
19
S*/
20
typedef struct _p_SVD* SVD;
21
 
22
#define SVDType const char*
23
#define SVDEIGENSOLVER "eigensolver"
24
#define SVDLAPACK      "lapack"
25
 
1255 slepc 26
typedef enum { SVD_TRANSPOSE_DEFAULT, SVD_TRANSPOSE_EXPLICIT,
27
               SVD_TRANSPOSE_USERDEFINED } SVDTransposeMode;
28
 
1251 slepc 29
EXTERN PetscErrorCode SVDCreate(MPI_Comm,SVD*);
30
EXTERN PetscErrorCode SVDSetType(SVD,SVDType);
31
EXTERN PetscErrorCode SVDGetType(SVD,SVDType*);
32
EXTERN PetscErrorCode SVDSetOperator(SVD,Mat);
1255 slepc 33
EXTERN PetscErrorCode SVDSetTransposeMode(SVD,SVDTransposeMode,Mat);
34
EXTERN PetscErrorCode SVDGetOperators(SVD,Mat*,SVDTransposeMode*,Mat*);
1251 slepc 35
EXTERN PetscErrorCode SVDSetFromOptions(SVD);
36
EXTERN PetscErrorCode SVDSetUp(SVD);
37
EXTERN PetscErrorCode SVDSolve(SVD);
38
EXTERN PetscErrorCode SVDGetConverged(SVD,int*);
39
EXTERN PetscErrorCode SVDGetSingularTriplet(SVD,int,PetscReal*,Vec,Vec);
1257 slepc 40
EXTERN PetscErrorCode SVDComputeResidualNorms(SVD,int,PetscReal*,PetscReal*);
1251 slepc 41
EXTERN PetscErrorCode SVDView(SVD,PetscViewer);
42
EXTERN PetscErrorCode SVDDestroy(SVD);
43
EXTERN PetscErrorCode SVDInitializePackage(char*);
44
 
1253 slepc 45
typedef enum { SVDEIGENSOLVER_DIRECT, SVDEIGENSOLVER_TRANSPOSE,
46
               SVDEIGENSOLVER_CYCLIC } SVDEigensolverMode;
47
 
48
EXTERN PetscErrorCode SVDEigensolverSetMode(SVD,SVDEigensolverMode);
49
EXTERN PetscErrorCode SVDEigensolverGetMode(SVD,SVDEigensolverMode*);
50
EXTERN PetscErrorCode SVDEigensolverSetEPS(SVD,EPS);
51
EXTERN PetscErrorCode SVDEigensolverGetEPS(SVD,EPS*);
52
 
1251 slepc 53
#endif