This file is indexed.

/usr/include/trilinos/MLAPI_Aggregation.h is in libtrilinos-ml-dev 12.4.2-2.

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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#ifndef MLAPI_AGGREGATION_H
#define MLAPI_AGGREGATION_H

#include "ml_common.h"

/*!
\file MLAPI_Aggregation.h

\brief Functions to create aggregation-based prolongator operators.

\author Marzio Sala, SNL 9214.

\date Last updated on Feb-05.
*/
/* ******************************************************************** */
/* See the file COPYRIGHT for a complete copyright notice, contact      */
/* person and disclaimer.                                               */
/* ******************************************************************** */

namespace Teuchos {
  class ParameterList;
}

namespace MLAPI {

class Operator;
class MultiVector;

//! Builds the tentative prolongator using aggregation.
void GetPtent(const Operator& A, Teuchos::ParameterList& List,
              const MultiVector& ThisNS,
              Operator& Ptent, MultiVector& NextNS);

//! Builds the tentative prolongator with default null space.
void GetPtent(const Operator& A, Teuchos::ParameterList& List, Operator& Ptent);

/*!
\brief Builds the tentative prolongator using aggregation.

Build Ptent and NextNS as usual but as Epetra objects.

\param A (in): Matrix to be aggregated on
\param List (in): ParameterList containing ML options
\param thisns (in): nullspace in format ML accepts
\param Ptent(out): Matrix containing tentative prolongator
\param NextNS (out): MultiVector containing next level nullspace.
\param domainoffset (in,optional): give an offset such that the domainmap
                                   of Ptent starts global numbering from domainoffset
                                   instead from zero. This is useful to
                                   create block matrices.

\author Michael Gee (gee@lnm.mw.tum.de)
*/
void GetPtent(const Epetra_RowMatrix& A, Teuchos::ParameterList& List,
              double* thisns, Teuchos::RCP<Epetra_CrsMatrix>& Ptent,
              Teuchos::RCP<Epetra_MultiVector>& NextNS, const int domainoffset = 0);

/*!
\brief Builds the tentative prolongator using aggregation.

Build Ptent and NextNS as usual but as Epetra objects.

\param A (in): Matrix to be aggregated on
\param List (in): ParameterList containing ML options
\param thisns (in): nullspace in format ML accepts
\param Ptent(out): Matrix containing tentative prolongator
\param domainoffset (in,optional): give an offset such that the domainmap
                                   of Ptent starts global numbering from domainoffset
                                   instead from zero. This is useful to
                                   create block matrices.

\author Michael Gee (gee@lnm.mw.tum.de)
*/
void GetPtent(const Epetra_RowMatrix& A, Teuchos::ParameterList& List,
              double* thisns, Teuchos::RCP<Epetra_CrsMatrix>& Ptent,
              const int domainoffset = 0);

/*!
\brief Call ML aggregation on A according to parameters supplied in List. Return
       aggregates in aggrinfo

       On input, map of aggrinfo has to map row map of A. On output, aggrinfo[i]
       contains number of aggregate the row belongs to, where aggregates are
       numbered starting from 0.
       Return value is the processor-local number of aggregates build.
       If aggrinfo[i] >= return-value, then i is a processor local row
       of a row that ML has detected to be on a Dirichlet BC.

\param A (in): Matrix to be aggregated on
\param List (in): ParameterList containing ML options
\param thisns (in): nullspace
\param aggrinfo(out): vector containing aggregation information

\note Map of aggrinfo has to match rowmap of A on input.

\return returns processor-local number of aggregates

\author Michael Gee (gee@lnm.mw.tum.de)
*/
int GetAggregates(Epetra_RowMatrix& A, Teuchos::ParameterList& List,
                   double* thisns, Epetra_IntVector& aggrinfo);

/*!
\brief Call ML aggregation on A according to parameters supplied in List. Return
       aggregates in aggrinfo

       On input, map of aggrinfo has to map row map of A. On output, aggrinfo[i]
       contains number of global aggregate the row belongs to, where aggregates are
       numbered starting from 0 globally.
       Return value is the processor-local number of aggregates build.
       If aggrinfo[i] < 0, then i is a processor local row
       that ML has detected to be on a Dirichlet BC.
       if aggrinfo[i] >= 0, then i is a processor local row and aggrinfo[i] is
       a global aggregate id.

\param A (in): Matrix to be aggregated on
\param List (in): ParameterList containing ML options
\param thisns (in): nullspace
\param aggrinfo(out): vector containing aggregation information in global numbering

\note Map of aggrinfo has to match rowmap of A on input.

\return returns processor-local number of aggregates

\author Michael Gee (gee@lnm.mw.tum.de)
*/
int GetGlobalAggregates(Epetra_RowMatrix& A, Teuchos::ParameterList& List,
                        double* thisns, Epetra_IntVector& aggrinfo);
} // namespace MLAPI

#endif // MLAPI_AGGREGATION_H