LADEL main
Sparse LDL factorization package with rank 1 and rowadd/rowdel updates
Functions
ladel_rank1_mod.h File Reference

Detailed Description

Helper routines for the rank1_update function.

Author
Ben Hermans

The ladel_rank1_update function implements rank 1 updates for a sparse factorization, and is implemented in ladel_rank1_mod.c.

Definition in file ladel_rank1_mod.h.

#include "ladel_types.h"
+ Include dependency graph for ladel_rank1_mod.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

ladel_int ladel_add_nonzero_pattern_to_col_of_L (ladel_sparse_matrix *L, ladel_int col, ladel_set *col_set, ladel_set *set, ladel_set *difference, ladel_int *offset, ladel_int *insertions)
 Adds the nonzero pattern in set to the pattern of the col of L. More...
 
ladel_int ladel_set_union (ladel_set *first_set, ladel_set *second_set, ladel_set *difference, ladel_int *offset, ladel_int *insertions, ladel_int threshold)
 Computes the set union of two index sets. More...
 

Function Documentation

◆ ladel_add_nonzero_pattern_to_col_of_L()

ladel_int ladel_add_nonzero_pattern_to_col_of_L ( ladel_sparse_matrix L,
ladel_int  col,
ladel_set col_set,
ladel_set set,
ladel_set difference,
ladel_int offset,
ladel_int insertions 
)

Adds the nonzero pattern in set to the pattern of the col of L.

Parameters
LSparse factor
colColumn index
col_setPointer to set struct that can hold the pattern of a column of L
setNonzero pattern to be added
differenceOutput elements in set that did not occur in the column of L
offsetOutput list of offset indices of original elements of the column of L
insertionsOutput list of indices where new elements have been added to the column of L
Returns
Resulting status (SET_HAS_CHANGED, SET_HAS_NOT_CHANGED, or MAX_SET_SIZE_EXCEEDED)

Definition at line 7 of file ladel_rank1_mod.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ladel_set_union()

ladel_int ladel_set_union ( ladel_set first_set,
ladel_set second_set,
ladel_set difference,
ladel_int offset,
ladel_int insertions,
ladel_int  threshold 
)

Computes the set union of two index sets.

The result is stored in first_set. This function also returns some information on the set union, that is:

  • The elements in the second_set which were not already in the first_set are stored in difference
  • The difference of the indices of the original elements of first_set versus now is stored in offset
  • The indices of the set union first_set where new elements have been added from second_set are stored in insertions
    Parameters
    first_setFirst input set, on output the set union
    second_setSecond input set
    differenceOutput elements in second_set that were not originally in first_set
    offsetOutput list of offset indices of original elements of the first_set
    insertionsOutput list of indices where new elements have been added to first_set from second_set
    thresholdOnly elements from the second_set with value > this threshold are considered
    Returns
    Resulting status (SET_HAS_CHANGED, SET_HAS_NOT_CHANGED, or MAX_SET_SIZE_EXCEEDED)

Definition at line 33 of file ladel_rank1_mod.c.

+ Here is the caller graph for this function: