1 |
gross |
3194 |
|
2 |
|
|
/******************************************************* |
3 |
|
|
* |
4 |
|
|
* Copyright (c) 2003-2010 by University of Queensland |
5 |
|
|
* Earth Systems Science Computational Center (ESSCC) |
6 |
|
|
* http://www.uq.edu.au/esscc |
7 |
|
|
* |
8 |
|
|
* Primary Business: Queensland, Australia |
9 |
|
|
* Licensed under the Open Software License version 3.0 |
10 |
|
|
* http://www.opensource.org/licenses/osl-3.0.php |
11 |
|
|
* |
12 |
|
|
*******************************************************/ |
13 |
|
|
|
14 |
|
|
#ifndef INC_COARSE |
15 |
|
|
#define INC_COARSE |
16 |
|
|
|
17 |
|
|
#include "SystemMatrix.h" |
18 |
|
|
|
19 |
|
|
|
20 |
gross |
3283 |
/* Remove: |
21 |
|
|
#define PASO_COARSENING_IN_F TRUE |
22 |
|
|
#define PASO_COARSENING_IN_C FALSE |
23 |
|
|
*/ |
24 |
gross |
3194 |
|
25 |
gross |
3283 |
void Paso_Coarsening_Local(index_t* marker_F, Paso_SparseMatrix* A, Paso_Options* options); |
26 |
|
|
void Paso_Coarsening_Local_Aggregation(Paso_SparseMatrix* A, index_t* marker_F, const double theta); |
27 |
|
|
void Paso_Coarsening_Local_Aggregation_blk(Paso_SparseMatrix* A, index_t* marker_F, const double theta); |
28 |
|
|
void Paso_Coarsening_Local_YS(Paso_SparseMatrix* A, index_t* marker_F, const double theta); |
29 |
|
|
void Paso_Coarsening_Local_YS_blk(Paso_SparseMatrix* A, index_t* marker_F, const double theta); |
30 |
gross |
3194 |
|
31 |
gross |
3283 |
void Paso_Coarsening_Local_RS(Paso_SparseMatrix* A, index_t* marker_F, double theta); |
32 |
gross |
3194 |
|
33 |
gross |
3283 |
void Paso_Coarsening_Local_Partition(Paso_Pattern* pattern,index_t* marker_F); |
34 |
|
|
void Paso_Coarsening_Local_greedy(Paso_Pattern* pattern, index_t* marker_F); |
35 |
gross |
3194 |
|
36 |
gross |
3283 |
|
37 |
|
|
|
38 |
|
|
/*=== REVISE ============*/ |
39 |
|
|
void Paso_Coarsening_Local_greedy_color(Paso_Pattern* pattern, index_t* marker_F); |
40 |
|
|
void Paso_Coarsening_Local_greedy_diag(Paso_SparseMatrix* A, index_t* marker_F, double thershold); |
41 |
|
|
|
42 |
|
|
void Paso_Coarsening_Local_YS_plus(Paso_SparseMatrix* A, index_t* marker_F, double alpha, double taw, double delta); |
43 |
|
|
void Paso_Coarsening_Local_Standard(Paso_SparseMatrix* A, index_t* marker_F, double theta); |
44 |
|
|
void Paso_Coarsening_Local_greedy_RS(Paso_SparseMatrix* A, index_t* marker_F, double theta); |
45 |
|
|
void Paso_Coarsening_Local_greedy_Agg(Paso_SparseMatrix* A, index_t* marker_F, double theta); |
46 |
gross |
3194 |
/*dim_t how_many(dim_t n,dim_t* S_i, int value1, dim_t* addedSet, int value2);*/ |
47 |
gross |
3283 |
void Paso_Coarsening_Local_Standard_Block(Paso_SparseMatrix* A, index_t* marker_F, double theta); |
48 |
gross |
3194 |
|
49 |
|
|
dim_t how_many(dim_t i,Paso_Pattern * S, bool_t transpose); |
50 |
|
|
dim_t arg_max(dim_t n, dim_t* lambda, dim_t mask); |
51 |
|
|
Paso_Pattern* Paso_Coarsening_Local_getTranspose(Paso_Pattern* P); |
52 |
|
|
|
53 |
gross |
3283 |
void Paso_Coarsening_Local_getReport(dim_t n,index_t* marker_F); |
54 |
|
|
void Paso_Coarsening_Local_Read(char *fileName,dim_t n,index_t* marker_F); |
55 |
|
|
void Paso_Coarsening_Local_Write(char *fileName,dim_t n,index_t* marker_F); |
56 |
gross |
3194 |
|
57 |
gross |
3283 |
|
58 |
gross |
3194 |
#endif |