| 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
|