LADEL main
Sparse LDL factorization package with rank 1 and rowadd/rowdel updates
Functions
ladel_rank1_mod.c File Reference
#include "ladel_types.h"
#include "ladel_global.h"
#include "ladel_constants.h"
#include "ladel_rank1_mod.h"
#include "ladel_debug_print.h"
+ Include dependency graph for ladel_rank1_mod.c:

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...
 
ladel_int ladel_rank1_update (ladel_factor *LD, ladel_symbolics *sym, ladel_sparse_matrix *W, ladel_int col_in_W, ladel_double factor, ladel_int up_or_down, ladel_work *work)
 Updates an \(LDL^T\) factorization. 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: