This file is indexed.

/usr/include/trilinos/ml_krylov.h is in libtrilinos-ml-dev 12.10.1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
/* ******************************************************************** */
/* See the file COPYRIGHT for a complete copyright notice, contact      */
/* person and disclaimer.                                               */
/* ******************************************************************** */

/* ******************************************************************** */
/* Declaration of the ML_KrylovData structure                           */
/* ******************************************************************** */
/* Author        : Charles Tong (LLNL)                                  */
/* Date          : December, 1999                                       */
/* ******************************************************************** */

#ifndef __MLKRYLOVDATA_
#define __MLKRYLOVDATA_
#define ML_CG 0
#define ML_GMRES 1

/* ******************************************************************** */
/* local include files                                                  */
/* ******************************************************************** */

typedef struct ML_Krylov_Struct ML_Krylov;

/* #include "ml_struct.h" */
#include "ml_common.h"
#include "ml_comm.h"
#include "ml_operator.h"

/* -------------------------------------------------------------------- */
/* This data structure defines an enriched operator class for the       */
/* specification of the discretization matrix, the restriction and the  */
/* prolongation operator.                                               */
/* -------------------------------------------------------------------- */

struct ML_Krylov_Struct
{
   int           ML_id;
   int           ML_method;
   int           ML_gmres_dim;
   int           ML_cgstabl_dim;
   int           ML_max_iterations;
   int           ML_print_freq;
   double        ML_tolerance;
   double        *diag_scale;
   ML_Operator   *ML_matrix;
   void          *ML_precon;
   ML_Comm       *ML_com;
   int           ML_eigen;
   int           ML_nonsym_eigen;
   double        ML_eigen_max;
   double        ML_eigen_min;
   int           (*ML_precfcn)(void*, int, double*, int, double*);
   int           ML_dont_scale_by_diag;
};

/* ******************************************************************** */
/* ******************************************************************** */
/*      User Interface Proto-types                                      */
/* ******************************************************************** */
/* ******************************************************************** */

#ifndef ML_CPP
#ifdef __cplusplus
extern "C" {
#endif
#endif

extern ML_Krylov *ML_Krylov_Create(ML_Comm *);
extern int ML_Krylov_Destroy(ML_Krylov **);
extern ML_Comm *ML_Krylov_Get_Comm(ML_Krylov *data);
extern int ML_Krylov_Set_PrintFreq(ML_Krylov *, int n);
extern int ML_Krylov_Get_PrintFreq(ML_Krylov *);
extern int ML_Krylov_Set_Method(ML_Krylov *, int method);
extern int ML_Krylov_Set_GMRESSize(ML_Krylov *, int size);
extern int ML_Krylov_Get_GMRESSize(ML_Krylov *);
extern int ML_Krylov_Set_BICGSTABLSize(ML_Krylov *, int size);
extern int ML_Krylov_Get_BICGSTABLSize(ML_Krylov *);
extern int ML_Krylov_Set_Amatrix(ML_Krylov *, ML_Operator *mat);
extern ML_Operator* ML_Krylov_Get_Amatrix(ML_Krylov *);
extern int ML_Krylov_Set_MaxIterations(ML_Krylov *, int iter);
extern int ML_Krylov_Get_MaxIterations(ML_Krylov *);
extern int ML_Krylov_Set_Tolerance(ML_Krylov *, double tol);
extern int ML_Krylov_Set_Diagonal(ML_Krylov *, int leng, double *diag);
extern double ML_Krylov_Get_Tolerance(ML_Krylov *);
extern int ML_Krylov_Set_Precon(ML_Krylov *, void *);
extern int ML_Krylov_Set_PreconFunc(ML_Krylov*,
                                    int (*func)(void*,int,double*,int,double*));
extern void *ML_Krylov_Get_Precon(ML_Krylov *);
extern int ML_Krylov_Set_ComputeEigenvalues(ML_Krylov *);
extern int ML_Krylov_Set_ComputeNonSymEigenvalues(ML_Krylov *);
extern int ML_Krylov_Set_DiagScaling_Eig(ML_Krylov *data, int scale);

extern double ML_Krylov_Get_MaxEigenvalue(ML_Krylov *);

extern int ML_Krylov_Solve(ML_Krylov *, int, double *, double*);
extern int ML_MGVSolve_Wrapper(void *, int, double *, int, double*);
extern int ML_AMGVSolve_Wrapper(void *, int, double *, int, double*);
extern int ML_DiagScale_Wrapper(void *, int, double *, int, double*);

#ifndef ML_CPP
#ifdef __cplusplus
}
#endif
#endif

#endif