dbl_factor.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include "config.h"
#include "dbl_iqsutil.h"
#include "dbl_lpdefs.h"
#include "dbl_factor.h"

Include dependency graph for dbl_factor.c:

Go to the source code of this file.

Defines

#define dbl_EGlpNumSetToMaxAbsAndDo(a, b, c)
#define dbl_SETPERM(f, s, r, c)

Functions

static int dbl_add_col_nz (dbl_factor_work *f, int r, int c)
static int dbl_add_nonzero (dbl_factor_work *f, int row, int col, double val)
static void dbl_btranl3_delay2 (dbl_factor_work *f, int r)
static void dbl_btranl3_process2 (dbl_factor_work *f, int r, dbl_svector *x)
static void dbl_btranu3_delay2 (dbl_factor_work *f, int r)
static void dbl_btranu3_process2 (dbl_factor_work *f, int r, dbl_svector *x)
static int dbl_build_iteration_l_data (dbl_factor_work *f)
static int dbl_build_iteration_u_data (dbl_factor_work *f)
static void dbl_clear_row (dbl_factor_work *f, int r)
static void dbl_clear_work (dbl_factor_work *f)
static int dbl_create_column (dbl_factor_work *f, dbl_svector *a, int col, int *p_last_rank)
static int dbl_create_factor_space (dbl_factor_work *f)
static int dbl_create_row (dbl_factor_work *f, double *a, int row, int minrank)
static int dbl_delete_column (dbl_factor_work *f, int col)
static void dbl_delete_nonzero_col (dbl_factor_work *f, int col, int ind)
static int dbl_delete_nonzero_row (dbl_factor_work *f, int row, int ind)
static int dbl_delete_row (dbl_factor_work *f, int row, dbl_svector *x)
static int dbl_dense_build_matrix (dbl_factor_work *f)
static int dbl_dense_create_col (dbl_factor_work *f, int i)
static void dbl_dense_elim (dbl_factor_work *f, int r, int c)
static int dbl_dense_factor (dbl_factor_work *f)
static int dbl_dense_find_pivot (dbl_factor_work *f, int *p_r, int *p_c)
static int dbl_dense_replace (dbl_factor_work *f)
static int dbl_dense_replace_row (dbl_factor_work *f, int i)
static void dbl_dense_swap (dbl_factor_work *f, int r, int c)
static void dbl_disable_col (dbl_factor_work *f, int c)
static int dbl_elim (dbl_factor_work *f, int r, int c)
static int dbl_elim_row (dbl_factor_work *f, int elim_r, int r, int c, double *p_pivot_coef)
static int dbl_eliminate_row (dbl_factor_work *f, int rank_p, int rank_r)
static int dbl_expand_col (dbl_factor_work *f, int col)
static int dbl_expand_row (dbl_factor_work *f, int row)
static void dbl_find_coef (dbl_factor_work *f, int r, int c, double *coef)
static int dbl_find_pivot (dbl_factor_work *f, int *p_r, int *p_c)
static void dbl_find_pivot_column (dbl_factor_work *f, int c, int *p_r)
static void dbl_find_pivot_row (dbl_factor_work *f, int r, int *p_c)
static void dbl_ftranl3_delay2 (dbl_factor_work *f, int c)
static void dbl_ftranl3_process2 (dbl_factor_work *f, int c, dbl_svector *x)
static void dbl_ftranu3_delay2 (dbl_factor_work *f, int c)
static void dbl_ftranu3_process2 (dbl_factor_work *f, int c, dbl_svector *x)
static int dbl_handle_singularity (dbl_factor_work *f)
int dbl_ILLfactor (dbl_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, double *ccoef, int *p_nsing, int **p_singr, int **p_singc)
void dbl_ILLfactor_btran (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
static void dbl_ILLfactor_btrane (dbl_factor_work *f, double *x)
static void dbl_ILLfactor_btrane2 (dbl_factor_work *f, dbl_svector *x)
static void dbl_ILLfactor_btranl2 (dbl_factor_work *f, double *x)
static void dbl_ILLfactor_btranl3 (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
static void dbl_ILLfactor_btranu (dbl_factor_work *f, double *a, dbl_svector *x)
static void dbl_ILLfactor_btranu3 (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
int dbl_ILLfactor_create_factor_work (dbl_factor_work *f, int dim)
void dbl_ILLfactor_free_factor_work (dbl_factor_work *f)
void dbl_ILLfactor_ftran (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
void dbl_ILLfactor_ftran_update (dbl_factor_work *f, dbl_svector *a, dbl_svector *upd, dbl_svector *x)
static void dbl_ILLfactor_ftrane (dbl_factor_work *f, double *a)
static void dbl_ILLfactor_ftrane2 (dbl_factor_work *f, dbl_svector *a)
static void dbl_ILLfactor_ftranl (dbl_factor_work *f, double *a)
static void dbl_ILLfactor_ftranl3 (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
static void dbl_ILLfactor_ftranu (dbl_factor_work *f, double *a, dbl_svector *x)
static void dbl_ILLfactor_ftranu3 (dbl_factor_work *f, dbl_svector *a, dbl_svector *x)
void dbl_ILLfactor_init_factor_work (dbl_factor_work *f)
int dbl_ILLfactor_set_factor_dparam (dbl_factor_work *f, int param, double val)
int dbl_ILLfactor_set_factor_iparam (dbl_factor_work *f, int param, int val)
static int dbl_ILLfactor_try (dbl_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, double *ccoef)
int dbl_ILLfactor_update (dbl_factor_work *f, dbl_svector *a, int col_p, int *p_refact)
static int dbl_init_matrix (dbl_factor_work *f, int *basis, int *cbeg, int *clen, int *in_ucindx, double *in_uccoef)
static void dbl_load_row (dbl_factor_work *f, int r)
static int dbl_make_lc_space (dbl_factor_work *f, int space)
static int dbl_make_uc_space (dbl_factor_work *f, int space)
static int dbl_make_ur_space (dbl_factor_work *f, int space)
static int dbl_move_pivot (dbl_factor_work *f, int rank_r)
static int dbl_move_pivot_col (dbl_factor_work *f, int c, int r)
static int dbl_move_pivot_row (dbl_factor_work *f, int r, int c)
static void dbl_remove_col (dbl_factor_work *f, int c)
static void dbl_remove_col_nz (dbl_factor_work *f, int r, int c)
static void dbl_remove_row (dbl_factor_work *f, int r)
static void dbl_remove_row_nz (dbl_factor_work *f, int r, int c)
static void dbl_serow_delay (dbl_factor_work *f, int r, int rank_r)
static int dbl_serow_process (dbl_factor_work *f, int r, dbl_svector *newr, int rank_r)
static void dbl_set_col_nz (dbl_factor_work *f, int c)
static void dbl_set_row_nz (dbl_factor_work *f, int r)
static void dbl_shift_permutations (dbl_factor_work *f, int rank_p, int rank_r)
static int dbl_sparse_eliminate_row (dbl_factor_work *f, dbl_svector *x, int row_p, int rank_r)


Define Documentation

#define dbl_EGlpNumSetToMaxAbsAndDo ( a,
b,
 ) 

Value:

if(dbl_EGlpNumIsGreatZero(b))\
  {\
    if(dbl_EGlpNumIsLess(a,b)){\
      dbl_EGlpNumCopy(a,b);\
      c;\
      }\
  }\
  else\
  {\
    dbl_EGlpNumSign(a);\
    if(dbl_EGlpNumIsLess(b,a)){\
      dbl_EGlpNumCopy(a,b);\
      c;\
      }\
    dbl_EGlpNumSign(a);\
  }

Definition at line 28 of file dbl_factor.c.

Referenced by dbl_dense_find_pivot().

#define dbl_SETPERM ( f,
s,
r,
 ) 

Value:

{                    \
        f->rperm[f->rrank[r]] = f->rperm[s];  \
        f->rrank[f->rperm[s]] = f->rrank[r];  \
        f->rperm[s] = r;                      \
        f->rrank[r] = s;                      \
                                              \
        f->cperm[f->crank[c]] = f->cperm[s];  \
        f->crank[f->cperm[s]] = f->crank[c];  \
        f->cperm[s] = c;                      \
        f->crank[c] = s;                      \
}

Definition at line 1481 of file dbl_factor.c.

Referenced by dbl_elim().


Function Documentation

static int dbl_add_col_nz ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1148 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_make_uc_space(), dbl_set_col_nz(), dbl_uc_info::nzcnt, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, and dbl_factor_work::ucindx.

Referenced by dbl_elim_row().

Here is the call graph for this function:

static int dbl_add_nonzero ( dbl_factor_work f,
int  row,
int  col,
double  val 
) [static]

Definition at line 4773 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_expand_col(), dbl_expand_row(), dbl_ur_info::nzcnt, dbl_uc_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::ur_freebeg, dbl_factor_work::ur_inf, dbl_factor_work::ur_space, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_create_column(), dbl_create_row(), and dbl_sparse_eliminate_row().

Here is the call graph for this function:

static void dbl_btranl3_delay2 ( dbl_factor_work f,
int  r 
) [static]

Definition at line 3997 of file dbl_factor.c.

References dbl_factor_work::lr_inf, dbl_factor_work::lrindx, dbl_lr_info::nzcnt, dbl_lr_info::rbeg, and dbl_lr_info::rrank.

Referenced by dbl_ILLfactor_btranl3().

static void dbl_btranl3_process2 ( dbl_factor_work f,
int  r,
dbl_svector x 
) [static]

Definition at line 4071 of file dbl_factor.c.

References dbl_svector::coef, dbl_svector::indx, dbl_factor_work::lr_inf, dbl_factor_work::lrcoef, dbl_factor_work::lrindx, dbl_lr_info::nzcnt, dbl_svector::nzcnt, dbl_lr_info::rbeg, dbl_lr_info::rrank, dbl_factor_work::szero_tol, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_btranl3().

static void dbl_btranu3_delay2 ( dbl_factor_work f,
int  r 
) [static]

Definition at line 4385 of file dbl_factor.c.

References dbl_factor_work::crank, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::ur_inf, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_btranu3().

static void dbl_btranu3_process2 ( dbl_factor_work f,
int  r,
dbl_svector x 
) [static]

Definition at line 4459 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::crank, dbl_svector::indx, dbl_svector::nzcnt, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, dbl_factor_work::urindx, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_btranu3().

static int dbl_build_iteration_l_data ( dbl_factor_work f  )  [static]

Definition at line 2183 of file dbl_factor.c.

References dbl_lc_info::c, dbl_lc_info::cbeg, dbl_lc_info::crank, dbl_lc_info::delay, dbl_lr_info::delay, dbl_factor_work::dim, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_factor_work::lc_inf, dbl_factor_work::lccoef, dbl_factor_work::lcindx, dbl_factor_work::lr_inf, dbl_factor_work::lrcoef, dbl_factor_work::lrindx, dbl_factor_work::maxelem_cur, dbl_factor_work::maxelem_factor, dbl_lr_info::nzcnt, dbl_factor_work::nzcnt_cur, dbl_factor_work::nzcnt_factor, dbl_lr_info::r, dbl_lr_info::rbeg, and dbl_lr_info::rrank.

Referenced by dbl_ILLfactor_try().

static int dbl_build_iteration_u_data ( dbl_factor_work f  )  [static]

Definition at line 2033 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_uc_info::delay, dbl_ur_info::delay, dbl_factor_work::dim, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_uc_info::nzcnt, dbl_factor_work::nzcnt_factor, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::rrank, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::ur_freebeg, dbl_factor_work::ur_inf, dbl_factor_work::ur_space, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_try().

static void dbl_clear_row ( dbl_factor_work f,
int  r 
) [static]

Definition at line 743 of file dbl_factor.c.

References dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_inf, dbl_factor_work::urindx, dbl_factor_work::work_coef, and dbl_factor_work::work_indx.

Referenced by dbl_elim().

static void dbl_clear_work ( dbl_factor_work f  )  [static]

Definition at line 710 of file dbl_factor.c.

References dbl_factor_work::dim, and dbl_factor_work::work_coef.

static int dbl_create_column ( dbl_factor_work f,
dbl_svector a,
int  col,
int *  p_last_rank 
) [static]

Definition at line 4953 of file dbl_factor.c.

References dbl_svector::coef, dbl_add_nonzero(), dbl_svector::indx, dbl_factor_work::maxelem_cur, dbl_svector::nzcnt, dbl_factor_work::nzcnt_cur, and dbl_factor_work::rrank.

Referenced by dbl_ILLfactor_update().

Here is the call graph for this function:

static int dbl_create_factor_space ( dbl_factor_work f  )  [static]

Definition at line 1810 of file dbl_factor.c.

References dbl_factor_work::dim, ILL_SAFE_MALLOC, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, dbl_factor_work::uc_space_mul, dbl_factor_work::ucindx, and dbl_factor_work::ur_inf.

Referenced by dbl_init_matrix().

static int dbl_create_row ( dbl_factor_work f,
double *  a,
int  row,
int  minrank 
) [static]

Definition at line 5127 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_add_nonzero(), dbl_factor_work::dim, dbl_factor_work::fzero_tol, and dbl_factor_work::maxelem_cur.

Here is the call graph for this function:

static int dbl_delete_column ( dbl_factor_work f,
int  col 
) [static]

Definition at line 4878 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_delete_nonzero_row(), dbl_uc_info::nzcnt, dbl_factor_work::nzcnt_cur, dbl_factor_work::uc_inf, dbl_factor_work::ucindx, and dbl_factor_work::ucrind.

Referenced by dbl_ILLfactor_update().

Here is the call graph for this function:

static void dbl_delete_nonzero_col ( dbl_factor_work f,
int  col,
int  ind 
) [static]

Definition at line 4852 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_uc_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::ur_inf, and dbl_factor_work::urcind.

Referenced by dbl_delete_row().

static int dbl_delete_nonzero_row ( dbl_factor_work f,
int  row,
int  ind 
) [static]

Definition at line 4819 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::ucrind, dbl_factor_work::ur_inf, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_delete_column().

static int dbl_delete_row ( dbl_factor_work f,
int  row,
dbl_svector x 
) [static]

Definition at line 4913 of file dbl_factor.c.

References dbl_svector::coef, dbl_delete_nonzero_col(), dbl_svector::indx, dbl_svector::nzcnt, dbl_ur_info::nzcnt, dbl_factor_work::nzcnt_cur, dbl_ur_info::rbeg, dbl_factor_work::ur_inf, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Here is the call graph for this function:

static int dbl_dense_build_matrix ( dbl_factor_work f  )  [static]

Definition at line 2322 of file dbl_factor.c.

References dbl_factor_work::crank, dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dim, dbl_factor_work::dmat, dbl_factor_work::drows, dbl_factor_work::nstages, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::stage, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_dense_factor().

static int dbl_dense_create_col ( dbl_factor_work f,
int  i 
) [static]

Definition at line 2594 of file dbl_factor.c.

References dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dmat, dbl_factor_work::drows, dbl_factor_work::fzero_tol, dbl_factor_work::lc_inf, and dbl_factor_work::rperm.

Referenced by dbl_dense_replace().

static void dbl_dense_elim ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2456 of file dbl_factor.c.

References dbl_dense_swap(), dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dmat, dbl_factor_work::drows, dbl_factor_work::fzero_tol, dbl_factor_work::maxelem_factor, dbl_factor_work::rperm, dbl_factor_work::stage, and dbl_factor_work::ur_inf.

Referenced by dbl_dense_factor().

Here is the call graph for this function:

static int dbl_dense_factor ( dbl_factor_work f  )  [static]

Definition at line 2667 of file dbl_factor.c.

References dbl_dense_build_matrix(), dbl_dense_elim(), dbl_dense_find_pivot(), dbl_dense_replace(), dbl_handle_singularity(), dbl_factor_work::dense_base, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, dbl_factor_work::maxelem_factor, dbl_factor_work::maxelem_orig, dbl_factor_work::maxmult, dbl_factor_work::nstages, dbl_factor_work::partial_cur, and dbl_factor_work::stage.

Referenced by dbl_ILLfactor_try().

Here is the call graph for this function:

static int dbl_dense_find_pivot ( dbl_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 2368 of file dbl_factor.c.

References dbl_EGlpNumSetToMaxAbsAndDo, dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dmat, dbl_factor_work::drows, E_NO_PIVOT, dbl_factor_work::rperm, dbl_factor_work::stage, and dbl_factor_work::ur_inf.

Referenced by dbl_dense_factor().

static int dbl_dense_replace ( dbl_factor_work f  )  [static]

Definition at line 2646 of file dbl_factor.c.

References dbl_dense_create_col(), dbl_dense_replace_row(), dbl_factor_work::dcols, dbl_factor_work::dmat, and dbl_factor_work::drows.

Referenced by dbl_dense_factor().

Here is the call graph for this function:

static int dbl_dense_replace_row ( dbl_factor_work f,
int  i 
) [static]

Definition at line 2537 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dmat, dbl_factor_work::fzero_tol, dbl_factor_work::rperm, and dbl_factor_work::ur_inf.

Referenced by dbl_dense_replace().

static void dbl_dense_swap ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2418 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::crank, dbl_EGLPNUM_SWAP, dbl_ILL_SWAP, dbl_factor_work::dcols, dbl_factor_work::dense_base, dbl_factor_work::dmat, dbl_factor_work::drows, dbl_factor_work::rperm, dbl_factor_work::rrank, and dbl_factor_work::stage.

Referenced by dbl_dense_elim().

static void dbl_disable_col ( dbl_factor_work f,
int  c 
) [static]

Definition at line 1201 of file dbl_factor.c.

References dbl_uc_info::next, dbl_uc_info::prev, and dbl_factor_work::uc_inf.

Referenced by dbl_find_pivot().

static int dbl_elim ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1493 of file dbl_factor.c.

References dbl_lc_info::c, dbl_uc_info::cbeg, dbl_lc_info::cbeg, dbl_clear_row(), dbl_EGLPNUM_SWAP, dbl_elim_row(), dbl_load_row(), dbl_make_lc_space(), dbl_remove_col(), dbl_remove_col_nz(), dbl_remove_row(), dbl_remove_row_nz(), dbl_SETPERM, dbl_factor_work::lc_freebeg, dbl_factor_work::lc_inf, dbl_factor_work::lc_space, dbl_factor_work::lccoef, dbl_factor_work::lcindx, dbl_ur_info::max, dbl_factor_work::nstages, dbl_uc_info::nzcnt, dbl_ur_info::nzcnt, dbl_lc_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::stage, dbl_factor_work::uc_inf, dbl_factor_work::ucindx, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_try().

Here is the call graph for this function:

static int dbl_elim_row ( dbl_factor_work f,
int  elim_r,
int  r,
int  c,
double *  p_pivot_coef 
) [static]

Definition at line 1284 of file dbl_factor.c.

References dbl_add_col_nz(), dbl_find_coef(), dbl_make_ur_space(), dbl_remove_col_nz(), dbl_set_row_nz(), dbl_factor_work::fzero_tol, dbl_ur_info::nzcnt, dbl_ur_info::pivcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_freebeg, dbl_factor_work::ur_inf, dbl_factor_work::ur_space, dbl_factor_work::urcoef, dbl_factor_work::urindx, dbl_factor_work::work_coef, and dbl_factor_work::work_indx.

Referenced by dbl_elim().

Here is the call graph for this function:

static int dbl_eliminate_row ( dbl_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5051 of file dbl_factor.c.

References dbl_factor_work::cperm, E_UPDATE_NOSPACE, dbl_factor_work::er_freebeg, dbl_factor_work::er_space, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::fzero_tol, dbl_factor_work::maxelem_cur, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, dbl_factor_work::urindx, and dbl_factor_work::work_coef.

static int dbl_expand_col ( dbl_factor_work f,
int  col 
) [static]

Definition at line 4695 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_make_uc_space(), dbl_uc_info::nzcnt, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, dbl_factor_work::uccoef, dbl_factor_work::ucindx, and dbl_factor_work::ucrind.

Referenced by dbl_add_nonzero().

Here is the call graph for this function:

static int dbl_expand_row ( dbl_factor_work f,
int  row 
) [static]

Definition at line 4734 of file dbl_factor.c.

References dbl_make_ur_space(), dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_freebeg, dbl_factor_work::ur_inf, dbl_factor_work::ur_space, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_add_nonzero().

Here is the call graph for this function:

static void dbl_find_coef ( dbl_factor_work f,
int  r,
int  c,
double *  coef 
) [static]

Definition at line 1260 of file dbl_factor.c.

References dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_elim_row(), and dbl_find_pivot_column().

static int dbl_find_pivot ( dbl_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 1703 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_disable_col(), dbl_find_pivot_column(), dbl_find_pivot_row(), dbl_factor_work::dim, E_NO_PIVOT, dbl_factor_work::max_k, dbl_ur_info::next, dbl_uc_info::next, dbl_factor_work::p, dbl_uc_info::prev, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::ucindx, dbl_factor_work::ur_inf, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_try().

Here is the call graph for this function:

static void dbl_find_pivot_column ( dbl_factor_work f,
int  c,
int *  p_r 
) [static]

Definition at line 1625 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_find_coef(), dbl_uc_info::nzcnt, dbl_ur_info::pivcnt, dbl_factor_work::uc_inf, dbl_factor_work::ucindx, and dbl_factor_work::ur_inf.

Referenced by dbl_find_pivot().

Here is the call graph for this function:

static void dbl_find_pivot_row ( dbl_factor_work f,
int  r,
int *  p_c 
) [static]

Definition at line 1665 of file dbl_factor.c.

References dbl_factor_work::partial_cur, dbl_ur_info::pivcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_find_pivot().

static void dbl_ftranl3_delay2 ( dbl_factor_work f,
int  c 
) [static]

Definition at line 3089 of file dbl_factor.c.

References dbl_lc_info::cbeg, dbl_lc_info::crank, dbl_factor_work::lc_inf, dbl_factor_work::lcindx, and dbl_lc_info::nzcnt.

Referenced by dbl_ILLfactor_ftranl3().

static void dbl_ftranl3_process2 ( dbl_factor_work f,
int  c,
dbl_svector x 
) [static]

Definition at line 3162 of file dbl_factor.c.

References dbl_lc_info::cbeg, dbl_svector::coef, dbl_lc_info::crank, dbl_svector::indx, dbl_factor_work::lc_inf, dbl_factor_work::lccoef, dbl_factor_work::lcindx, dbl_lc_info::nzcnt, dbl_svector::nzcnt, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_ftranl3().

static void dbl_ftranu3_delay2 ( dbl_factor_work f,
int  c 
) [static]

Definition at line 3490 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_factor_work::cperm, dbl_uc_info::nzcnt, dbl_factor_work::rrank, dbl_factor_work::uc_inf, and dbl_factor_work::ucindx.

Referenced by dbl_ILLfactor_ftranu3().

static void dbl_ftranu3_process2 ( dbl_factor_work f,
int  c,
dbl_svector x 
) [static]

Definition at line 3565 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_svector::coef, dbl_factor_work::cperm, dbl_svector::indx, dbl_svector::nzcnt, dbl_uc_info::nzcnt, dbl_factor_work::rrank, dbl_factor_work::szero_tol, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, dbl_factor_work::ucindx, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_ftranu3().

static int dbl_handle_singularity ( dbl_factor_work f  )  [static]

Definition at line 2285 of file dbl_factor.c.

References dbl_factor_work::cperm, E_SING_NO_DATA, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_factor_work::nstages, dbl_factor_work::p_nsing, dbl_factor_work::p_singc, dbl_factor_work::p_singr, dbl_factor_work::rperm, and dbl_factor_work::stage.

Referenced by dbl_dense_factor(), and dbl_ILLfactor_try().

int dbl_ILLfactor ( dbl_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
double *  ccoef,
int *  p_nsing,
int **  p_singr,
int **  p_singc 
)

Definition at line 2961 of file dbl_factor.c.

References dbl_ILLfactor_try(), E_FACTOR_BLOWUP, dbl_factor_work::p_nsing, dbl_factor_work::p_singc, dbl_factor_work::p_singr, and dbl_factor_work::partial_cur.

Here is the call graph for this function:

void dbl_ILLfactor_btran ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
)

Definition at line 4549 of file dbl_factor.c.

References dbl_svector::coef, dbl_ILLfactor_btrane2(), dbl_ILLfactor_btranu(), dbl_ILLfactor_btranu3(), dbl_factor_work::dim, dbl_svector::indx, dbl_svector::nzcnt, SPARSE_FACTOR, dbl_factor_work::work_coef, and dbl_factor_work::xtmp.

Here is the call graph for this function:

static void dbl_ILLfactor_btrane ( dbl_factor_work f,
double *  x 
) [static]

Definition at line 4160 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::er_inf, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::etacnt, dbl_er_info::nzcnt, and dbl_er_info::rbeg.

static void dbl_ILLfactor_btrane2 ( dbl_factor_work f,
dbl_svector x 
) [static]

Definition at line 4214 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::er_inf, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::etacnt, dbl_svector::indx, dbl_er_info::nzcnt, dbl_svector::nzcnt, dbl_er_info::rbeg, dbl_factor_work::work_coef, and dbl_factor_work::work_indx.

Referenced by dbl_ILLfactor_btran().

static void dbl_ILLfactor_btranl2 ( dbl_factor_work f,
double *  x 
) [static]

Definition at line 3919 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::lr_inf, dbl_factor_work::lrcoef, dbl_factor_work::lrindx, dbl_lr_info::nzcnt, and dbl_lr_info::rbeg.

static void dbl_ILLfactor_btranl3 ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
) [static]

Definition at line 4121 of file dbl_factor.c.

References dbl_svector::coef, dbl_btranl3_delay2(), dbl_btranl3_process2(), dbl_svector::indx, dbl_factor_work::lr_inf, dbl_svector::nzcnt, and dbl_factor_work::work_coef.

Here is the call graph for this function:

static void dbl_ILLfactor_btranu ( dbl_factor_work f,
double *  a,
dbl_svector x 
) [static]

Definition at line 4302 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::cperm, dbl_factor_work::dim, dbl_svector::indx, dbl_svector::nzcnt, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::szero_tol, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_btran().

static void dbl_ILLfactor_btranu3 ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
) [static]

Definition at line 4509 of file dbl_factor.c.

References dbl_svector::coef, dbl_btranu3_delay2(), dbl_btranu3_process2(), dbl_svector::indx, dbl_svector::nzcnt, dbl_factor_work::ur_inf, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_btran().

Here is the call graph for this function:

int dbl_ILLfactor_create_factor_work ( dbl_factor_work f,
int  dim 
)

Definition at line 263 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::crank, dbl_ILLfactor_free_factor_work(), dbl_ILLsvector_alloc(), dbl_factor_work::dim, dbl_factor_work::etacnt, ILL_SAFE_MALLOC, dbl_factor_work::lc_inf, dbl_factor_work::lr_inf, dbl_ur_info::max, dbl_factor_work::max_k, dbl_ur_info::next, dbl_uc_info::next, dbl_lr_info::nzcnt, dbl_lc_info::nzcnt, dbl_ur_info::nzcnt, dbl_uc_info::nzcnt, dbl_ur_info::prev, dbl_uc_info::prev, dbl_factor_work::rperm, dbl_factor_work::rrank, dbl_factor_work::uc_inf, dbl_factor_work::ur_inf, dbl_factor_work::work_coef, dbl_factor_work::work_indx, and dbl_factor_work::xtmp.

Here is the call graph for this function:

void dbl_ILLfactor_free_factor_work ( dbl_factor_work f  ) 

Definition at line 131 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::crank, dbl_ILLsvector_free(), dbl_factor_work::dim, dbl_factor_work::dmat, dbl_factor_work::er_inf, dbl_factor_work::ercoef, dbl_factor_work::erindx, ILL_IFFREE, dbl_factor_work::lc_inf, dbl_factor_work::lccoef, dbl_factor_work::lcindx, dbl_factor_work::lr_inf, dbl_factor_work::lrcoef, dbl_factor_work::lrindx, dbl_ur_info::max, dbl_factor_work::max_k, dbl_factor_work::rperm, dbl_factor_work::rrank, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::ur_inf, dbl_factor_work::urcind, dbl_factor_work::urcoef, dbl_factor_work::urindx, dbl_factor_work::work_coef, dbl_factor_work::work_indx, and dbl_factor_work::xtmp.

Here is the call graph for this function:

void dbl_ILLfactor_ftran ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
)

Definition at line 3656 of file dbl_factor.c.

References dbl_svector::coef, dbl_ILLfactor_ftranl3(), dbl_factor_work::dim, dbl_svector::indx, dbl_svector::nzcnt, SPARSE_FACTOR, and dbl_factor_work::work_coef.

Here is the call graph for this function:

void dbl_ILLfactor_ftran_update ( dbl_factor_work f,
dbl_svector a,
dbl_svector upd,
dbl_svector x 
)

Definition at line 3777 of file dbl_factor.c.

References dbl_svector::coef, dbl_ILLfactor_ftranl3(), dbl_factor_work::dim, dbl_svector::indx, dbl_svector::nzcnt, SPARSE_FACTOR, and dbl_factor_work::work_coef.

Here is the call graph for this function:

static void dbl_ILLfactor_ftrane ( dbl_factor_work f,
double *  a 
) [static]

Definition at line 3250 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::er_inf, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::etacnt, dbl_er_info::nzcnt, and dbl_er_info::rbeg.

static void dbl_ILLfactor_ftrane2 ( dbl_factor_work f,
dbl_svector a 
) [static]

Definition at line 3302 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::er_inf, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::etacnt, dbl_factor_work::fzero_tol, dbl_svector::indx, dbl_er_info::nzcnt, dbl_svector::nzcnt, dbl_er_info::rbeg, dbl_factor_work::work_coef, and dbl_factor_work::work_indx.

static void dbl_ILLfactor_ftranl ( dbl_factor_work f,
double *  a 
) [static]

Definition at line 3012 of file dbl_factor.c.

References dbl_lc_info::cbeg, dbl_factor_work::dim, dbl_factor_work::lc_inf, dbl_factor_work::lccoef, and dbl_factor_work::lcindx.

static void dbl_ILLfactor_ftranl3 ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
) [static]

Definition at line 3211 of file dbl_factor.c.

References dbl_svector::coef, dbl_ftranl3_delay2(), dbl_ftranl3_process2(), dbl_svector::indx, dbl_factor_work::lc_inf, dbl_svector::nzcnt, and dbl_factor_work::work_coef.

Referenced by dbl_ILLfactor_ftran(), and dbl_ILLfactor_ftran_update().

Here is the call graph for this function:

static void dbl_ILLfactor_ftranu ( dbl_factor_work f,
double *  a,
dbl_svector x 
) [static]

Definition at line 3407 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_svector::coef, dbl_factor_work::cperm, dbl_factor_work::dim, dbl_svector::indx, dbl_svector::nzcnt, dbl_uc_info::nzcnt, dbl_factor_work::rperm, dbl_factor_work::szero_tol, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, and dbl_factor_work::ucindx.

static void dbl_ILLfactor_ftranu3 ( dbl_factor_work f,
dbl_svector a,
dbl_svector x 
) [static]

Definition at line 3616 of file dbl_factor.c.

References dbl_svector::coef, dbl_ftranu3_delay2(), dbl_ftranu3_process2(), dbl_svector::indx, dbl_svector::nzcnt, dbl_factor_work::uc_inf, and dbl_factor_work::work_coef.

Here is the call graph for this function:

void dbl_ILLfactor_init_factor_work ( dbl_factor_work f  ) 

Definition at line 84 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::crank, dbl_ILLsvector_init(), dbl_OBJBND_TOLER, dbl_SZERO_TOLER, dbl_factor_work::dense_fract, dbl_factor_work::dense_min, dbl_factor_work::dmat, dbl_factor_work::er_inf, dbl_factor_work::er_space_mul, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::etamax, dbl_factor_work::fzero_tol, dbl_factor_work::grow_mul, dbl_factor_work::lc_inf, dbl_factor_work::lc_space_mul, dbl_factor_work::lccoef, dbl_factor_work::lcindx, dbl_factor_work::lr_inf, dbl_factor_work::lrcoef, dbl_factor_work::lrindx, dbl_factor_work::max_k, dbl_factor_work::maxmult, dbl_factor_work::minmult, dbl_factor_work::p, dbl_factor_work::partial_cur, dbl_factor_work::partial_tol, dbl_factor_work::rperm, dbl_factor_work::rrank, dbl_factor_work::szero_tol, dbl_factor_work::uc_inf, dbl_factor_work::uc_space_mul, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::updmaxmult, dbl_factor_work::ur_inf, dbl_factor_work::ur_space_mul, dbl_factor_work::urcind, dbl_factor_work::urcoef, dbl_factor_work::urindx, dbl_factor_work::work_coef, dbl_factor_work::work_indx, and dbl_factor_work::xtmp.

Here is the call graph for this function:

int dbl_ILLfactor_set_factor_dparam ( dbl_factor_work f,
int  param,
double  val 
)

Definition at line 211 of file dbl_factor.c.

References dbl_factor_work::dense_fract, dbl_factor_work::er_space_mul, dbl_factor_work::fzero_tol, dbl_factor_work::grow_mul, dbl_factor_work::lc_space_mul, dbl_factor_work::lr_space_mul, dbl_factor_work::maxmult, dbl_factor_work::partial_cur, dbl_factor_work::partial_tol, QS_FACTOR_DENSE_FRACT, QS_FACTOR_ER_SPACE_MUL, QS_FACTOR_FZERO_TOL, QS_FACTOR_GROW_MUL, QS_FACTOR_LC_SPACE_MUL, QS_FACTOR_LR_SPACE_MUL, QS_FACTOR_MAXMULT, QS_FACTOR_PARTIAL_TOL, QS_FACTOR_SZERO_TOL, QS_FACTOR_UC_SPACE_MUL, QS_FACTOR_UPDMAXMULT, QS_FACTOR_UR_SPACE_MUL, dbl_factor_work::szero_tol, dbl_factor_work::uc_space_mul, dbl_factor_work::updmaxmult, and dbl_factor_work::ur_space_mul.

int dbl_ILLfactor_set_factor_iparam ( dbl_factor_work f,
int  param,
int  val 
)

Definition at line 184 of file dbl_factor.c.

References dbl_factor_work::dense_min, dbl_factor_work::etamax, dbl_factor_work::max_k, dbl_factor_work::p, QS_FACTOR_DENSE_MIN, QS_FACTOR_ETAMAX, QS_FACTOR_MAX_K, and QS_FACTOR_P.

static int dbl_ILLfactor_try ( dbl_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
double *  ccoef 
) [static]

Definition at line 2762 of file dbl_factor.c.

References dbl_build_iteration_l_data(), dbl_build_iteration_u_data(), dbl_dense_factor(), dbl_elim(), dbl_find_pivot(), dbl_handle_singularity(), dbl_init_matrix(), dbl_factor_work::dense_fract, dbl_factor_work::dense_min, dbl_factor_work::dim, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, dbl_factor_work::maxelem_factor, dbl_factor_work::maxelem_orig, dbl_factor_work::maxmult, dbl_factor_work::minmult, dbl_factor_work::nstages, dbl_uc_info::nzcnt, dbl_factor_work::partial_cur, dbl_factor_work::partial_tol, dbl_ur_info::pivcnt, dbl_factor_work::stage, dbl_factor_work::uc_inf, and dbl_factor_work::ur_inf.

Referenced by dbl_ILLfactor().

Here is the call graph for this function:

int dbl_ILLfactor_update ( dbl_factor_work f,
dbl_svector a,
int  col_p,
int *  p_refact 
)

Definition at line 5474 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_svector::coef, dbl_factor_work::crank, dbl_create_column(), dbl_delete_column(), dbl_factor_work::etacnt, dbl_factor_work::etamax, dbl_svector::indx, dbl_svector::nzcnt, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rrank, dbl_factor_work::uc_inf, dbl_factor_work::ucindx, dbl_factor_work::ur_inf, dbl_factor_work::urindx, and dbl_factor_work::work_coef.

Here is the call graph for this function:

static int dbl_init_matrix ( dbl_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  in_ucindx,
double *  in_uccoef 
) [static]

Definition at line 1879 of file dbl_factor.c.

References dbl_create_factor_space(), dbl_factor_work::dim, dbl_factor_work::fzero_tol, dbl_factor_work::max_k, dbl_ur_info::nzcnt, dbl_uc_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, dbl_factor_work::ucindx, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_ILLfactor_try().

Here is the call graph for this function:

static void dbl_load_row ( dbl_factor_work f,
int  r 
) [static]

Definition at line 723 of file dbl_factor.c.

References dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, dbl_factor_work::urindx, dbl_factor_work::work_coef, and dbl_factor_work::work_indx.

Referenced by dbl_elim().

static int dbl_make_lc_space ( dbl_factor_work f,
int  space 
) [static]

Definition at line 983 of file dbl_factor.c.

References dbl_factor_work::grow_mul, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_factor_work::lc_freebeg, dbl_factor_work::lc_space, dbl_factor_work::lccoef, and dbl_factor_work::lcindx.

Referenced by dbl_elim().

static int dbl_make_uc_space ( dbl_factor_work f,
int  space 
) [static]

Definition at line 873 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_factor_work::dim, dbl_factor_work::grow_mul, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_uc_info::nzcnt, dbl_factor_work::uc_freebeg, dbl_factor_work::uc_inf, dbl_factor_work::uc_space, dbl_factor_work::uccoef, dbl_factor_work::ucindx, and dbl_factor_work::ucrind.

Referenced by dbl_add_col_nz(), and dbl_expand_col().

static int dbl_make_ur_space ( dbl_factor_work f,
int  space 
) [static]

Definition at line 762 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::grow_mul, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_freebeg, dbl_factor_work::ur_inf, dbl_factor_work::ur_space, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_elim_row(), and dbl_expand_row().

static int dbl_move_pivot ( dbl_factor_work f,
int  rank_r 
) [static]

Definition at line 5444 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_move_pivot_col(), dbl_move_pivot_row(), E_UPDATE_SINGULAR_COL, and dbl_factor_work::rperm.

Here is the call graph for this function:

static int dbl_move_pivot_col ( dbl_factor_work f,
int  c,
int  r 
) [static]

Definition at line 5405 of file dbl_factor.c.

References __QS_SB_VERB, dbl_uc_info::cbeg, dbl_EGLPNUM_SWAP, dbl_ILL_SWAP, E_UPDATE_SINGULAR_COL, dbl_uc_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::uccoef, dbl_factor_work::ucindx, dbl_factor_work::ucrind, dbl_factor_work::ur_inf, and dbl_factor_work::urcind.

Referenced by dbl_move_pivot().

static int dbl_move_pivot_row ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 5365 of file dbl_factor.c.

References __QS_SB_VERB, dbl_uc_info::cbeg, dbl_EGLPNUM_SWAP, dbl_ILL_SWAP, E_UPDATE_SINGULAR_ROW, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::uc_inf, dbl_factor_work::ucrind, dbl_factor_work::ur_inf, dbl_factor_work::urcind, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_move_pivot().

static void dbl_remove_col ( dbl_factor_work f,
int  c 
) [static]

Definition at line 1217 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_uc_info::next, dbl_uc_info::nzcnt, dbl_uc_info::prev, dbl_factor_work::uc_inf, and dbl_factor_work::ucindx.

Referenced by dbl_elim().

static void dbl_remove_col_nz ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1084 of file dbl_factor.c.

References dbl_uc_info::cbeg, dbl_set_col_nz(), dbl_uc_info::nzcnt, dbl_factor_work::uc_inf, and dbl_factor_work::ucindx.

Referenced by dbl_elim(), and dbl_elim_row().

Here is the call graph for this function:

static void dbl_remove_row ( dbl_factor_work f,
int  r 
) [static]

Definition at line 1244 of file dbl_factor.c.

References dbl_ur_info::next, dbl_ur_info::prev, and dbl_factor_work::ur_inf.

Referenced by dbl_elim().

static void dbl_remove_row_nz ( dbl_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1109 of file dbl_factor.c.

References dbl_EGLPNUM_SWAP, dbl_ILL_SWAP, dbl_set_row_nz(), dbl_ur_info::pivcnt, dbl_ur_info::rbeg, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, and dbl_factor_work::urindx.

Referenced by dbl_elim().

Here is the call graph for this function:

static void dbl_serow_delay ( dbl_factor_work f,
int  r,
int  rank_r 
) [static]

Definition at line 5178 of file dbl_factor.c.

References dbl_factor_work::crank, dbl_ur_info::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::ur_inf, and dbl_factor_work::urindx.

Referenced by dbl_sparse_eliminate_row().

static int dbl_serow_process ( dbl_factor_work f,
int  r,
dbl_svector newr,
int  rank_r 
) [static]

Definition at line 5212 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::crank, E_UPDATE_NOSPACE, dbl_factor_work::er_freebeg, dbl_factor_work::er_space, dbl_factor_work::ercoef, dbl_factor_work::erindx, dbl_factor_work::fzero_tol, dbl_svector::indx, dbl_factor_work::maxelem_cur, dbl_ur_info::nzcnt, dbl_svector::nzcnt, dbl_ur_info::rbeg, dbl_factor_work::rperm, dbl_factor_work::ur_inf, dbl_factor_work::urcoef, dbl_factor_work::urindx, and dbl_factor_work::work_coef.

Referenced by dbl_sparse_eliminate_row().

static void dbl_set_col_nz ( dbl_factor_work f,
int  c 
) [static]

Definition at line 1038 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::max_k, dbl_uc_info::next, dbl_uc_info::nzcnt, dbl_uc_info::prev, and dbl_factor_work::uc_inf.

Referenced by dbl_add_col_nz(), and dbl_remove_col_nz().

static void dbl_set_row_nz ( dbl_factor_work f,
int  r 
) [static]

Definition at line 1061 of file dbl_factor.c.

References dbl_factor_work::dim, dbl_factor_work::max_k, dbl_ur_info::next, dbl_ur_info::pivcnt, dbl_ur_info::prev, and dbl_factor_work::ur_inf.

Referenced by dbl_elim_row(), and dbl_remove_row_nz().

static void dbl_shift_permutations ( dbl_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5025 of file dbl_factor.c.

References dbl_factor_work::cperm, dbl_factor_work::crank, dbl_factor_work::rperm, and dbl_factor_work::rrank.

static int dbl_sparse_eliminate_row ( dbl_factor_work f,
dbl_svector x,
int  row_p,
int  rank_r 
) [static]

Definition at line 5302 of file dbl_factor.c.

References dbl_svector::coef, dbl_factor_work::crank, dbl_add_nonzero(), dbl_serow_delay(), dbl_serow_process(), dbl_factor_work::dim, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_svector::indx, dbl_svector::nzcnt, dbl_factor_work::nzcnt_cur, dbl_factor_work::ur_inf, and dbl_factor_work::work_coef.

Here is the call graph for this function:


Generated on Thu Mar 29 09:33:24 2012 for QSopt_ex by  doxygen 1.4.7