1 |
|
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 |
#define PASO_COARSENING_IN_F 1 |
20 |
#define PASO_COARSENING_IN_C 2 |
21 |
|
22 |
void Paso_Coarsening_Local(index_t* mis_marker, Paso_SparseMatrix* A, double threshold, const index_t coarsening_method); |
23 |
|
24 |
void Paso_Coarsening_Local_YS(Paso_SparseMatrix* A, index_t* mis_marker, double thershold); |
25 |
void Paso_Coarsening_Local_RS(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
26 |
void Paso_Coarsening_Local_Aggregiation(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
27 |
|
28 |
|
29 |
/*===============*/ |
30 |
void Paso_Coarsening_Local_greedy(Paso_Pattern* pattern, index_t* mis_marker); |
31 |
void Paso_Coarsening_Local_greedy_color(Paso_Pattern* pattern, index_t* mis_marker); |
32 |
void Paso_Coarsening_Local_greedy_diag(Paso_SparseMatrix* A, index_t* mis_marker, double thershold); |
33 |
|
34 |
void Paso_Coarsening_Local_YS_plus(Paso_SparseMatrix* A, index_t* mis_marker, double alpha, double taw, double delta); |
35 |
void Paso_Coarsening_Local_Standard(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
36 |
void Paso_Coarsening_Local_greedy_RS(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
37 |
void Paso_Coarsening_Local_greedy_Agg(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
38 |
/*dim_t how_many(dim_t n,dim_t* S_i, int value1, dim_t* addedSet, int value2);*/ |
39 |
void Paso_Coarsening_Local_Standard_Block(Paso_SparseMatrix* A, index_t* mis_marker, double theta); |
40 |
|
41 |
dim_t how_many(dim_t i,Paso_Pattern * S, bool_t transpose); |
42 |
dim_t arg_max(dim_t n, dim_t* lambda, dim_t mask); |
43 |
Paso_Pattern* Paso_Coarsening_Local_getTranspose(Paso_Pattern* P); |
44 |
void Paso_Coarsening_Local_getReport(dim_t n,index_t* mis_marker); |
45 |
void Paso_Coarsening_Local_Read(char *fileName,dim_t n,index_t* mis_marker); |
46 |
void Paso_Coarsening_Local_Write(char *fileName,dim_t n,index_t* mis_marker); |
47 |
|
48 |
|
49 |
#endif |