LADEL main
Sparse LDL factorization package with rank 1 and rowadd/rowdel updates
ladel_etree.h
Go to the documentation of this file.
1/**
2 * @file ladel_etree.h
3 * @author Ben Hermans
4 * @brief Routines to compute the elimination tree of a matrix.
5 * @details Computing the elimination tree is the first part of the symbolic factorization.
6 * One routine in this file simply computes the etree, the other (compile with -DLADEL_SIMPLE_COL_COUNTS)
7 * computes the etree and column counts in parallel (but has worse time complexity).
8 */
9
10#ifndef LADEL_ETREE_H
11#define LADEL_ETREE_H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include "ladel_types.h"
18/**
19 * Computes the elimination tree of a matrix.
20 *
21 * This tree is stored in sym->etree.
22 *
23 * @param M Matrix
24 * @param sym Symbolics struct for the factorization
25 * @param work LADEL workspace
26 * @return Status
27 */
29 ladel_symbolics *sym,
30 ladel_work *work);
31
32#ifdef LADEL_SIMPLE_COL_COUNTS
33/**
34 * Computes the elimination tree and column counts of a matrix.
35 *
36 * This function can be used to do the whole symbolic analysis at once, but has
37 * a worse asymptotic time complexity than using etree, postorder and col_counts
38 * sequentially.
39 *
40 * @param M Matrix
41 * @param sym Symbolics struct for the factorization
42 * @param work LADEL workspace
43 * @return Status
44 */
46 ladel_symbolics *sym,
47 ladel_work *work);
48#endif
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif /*LADEL_ETREE_H*/
ladel_int ladel_etree_and_col_counts(ladel_sparse_matrix *M, ladel_symbolics *sym, ladel_work *work)
Computes the elimination tree and column counts of a matrix.
Definition: ladel_etree.c:38
ladel_int ladel_etree(ladel_sparse_matrix *M, ladel_symbolics *sym, ladel_work *work)
Computes the elimination tree of a matrix.
Definition: ladel_etree.c:6
Structures and types used in LADEL routines.
int64_t ladel_int
Type for integer numbers (default: int64_t)
Definition: ladel_types.h:24
Sparse matrix in compressed column storage.
Definition: ladel_types.h:35
Structure capturing symbolic information used for and during the factorization.
Definition: ladel_types.h:54
Workspace required for various routines in LADEL.
Definition: ladel_types.h:109