PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
fax_csr.h
Go to the documentation of this file.
1/**
2 *
3 * @file fax_csr.h
4 *
5 * PaStiX fax amalgamation routines
6 *
7 * @copyright 2004-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8 * Univ. Bordeaux. All rights reserved.
9 *
10 * @version 6.4.0
11 * @author Pascal Henon
12 * @author Mathieu Faverge
13 * @date 2024-07-05
14 *
15 * @addtogroup symbol_dev_csr
16 * @{
17 *
18 **/
19#ifndef _fax_csr_h_
20#define _fax_csr_h_
21
22/**
23 * @brief Fax blocked csr structure
24 */
25typedef struct fax_csr_s {
27 pastix_int_t total_nnz;
28 pastix_int_t * nnz;
29 pastix_int_t **rows;
31
32void faxCSRInit( pastix_int_t n, fax_csr_t *csr );
33void faxCSRClean( fax_csr_t *csr );
34
36
37int faxCSRGenPA( const pastix_graph_t *graphA, const pastix_int_t *perm, fax_csr_t *graphPA );
38void faxCSRCompact( fax_csr_t *csr );
39
40void faxCSRCblkCompress( const fax_csr_t *graphA,
41 const pastix_order_t *order,
42 fax_csr_t *graphL,
43 pastix_int_t *work );
44
46 const pastix_order_t *order,
47 fax_csr_t *graphL );
49 const pastix_order_t *order,
50 pastix_int_t level,
51 fax_csr_t *graphL );
52
53void faxCSRAmalgamate( int ilu,
54 double rat_cblk,
55 double rat_blas,
56 fax_csr_t *graphL,
57 pastix_order_t *order,
58 PASTIX_Comm pastix_comm );
59
60/**
61 * @}
62 */
63#endif /* _fax_csr_h_ */
BEGIN_C_DECLS typedef int pastix_int_t
Definition datatypes.h:51
Order structure.
Definition order.h:47
pastix_int_t faxCSRFactILUk(const fax_csr_t *graphA, const pastix_order_t *order, pastix_int_t level, fax_csr_t *graphL)
Compute the non zero pattern of the levelized incomplete factor for a sparse lower triangular matrix ...
int faxCSRGenPA(const pastix_graph_t *graphA, const pastix_int_t *perm, fax_csr_t *graphPA)
Generate the graph of P*A from the graph of A and the permutation vector.
Definition fax_csr.c:183
pastix_int_t faxCSRGetNNZ(const fax_csr_t *csr)
Computes the number of non zero entries in the graph.
Definition fax_csr.c:99
void faxCSRClean(fax_csr_t *csr)
Free the data store in the structure.
Definition fax_csr.c:65
void faxCSRCblkCompress(const fax_csr_t *graphA, const pastix_order_t *order, fax_csr_t *graphL, pastix_int_t *work)
Compact a element wise graph of a matrix A, according to the associated partition.
Definition fax_csr.c:249
void faxCSRAmalgamate(int ilu, double rat_cblk, double rat_blas, fax_csr_t *graphL, pastix_order_t *order, PASTIX_Comm pastix_comm)
Amalgamate the given graph up to a given tolerance.
void faxCSRCompact(fax_csr_t *csr)
Compact a compressed graph.
Definition fax_csr.c:129
pastix_int_t faxCSRFactDirect(const fax_csr_t *graphA, const pastix_order_t *order, fax_csr_t *graphL)
Compute the non zero pattern of the direct factorization of a matrix A, given the supernode partition...
void faxCSRInit(pastix_int_t n, fax_csr_t *csr)
Initialize the data structure by doing the first allocations within the structure and initializing th...
Definition fax_csr.c:40
struct fax_csr_s fax_csr_t
Fax blocked csr structure.
Fax blocked csr structure.
Definition fax_csr.h:25