mpf_factor.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include "config.h"
#include "mpf_iqsutil.h"
#include "mpf_lpdefs.h"
#include "mpf_factor.h"

Include dependency graph for mpf_factor.c:

Go to the source code of this file.

Defines

#define mpf_EGlpNumSetToMaxAbsAndDo(a, b, c)
#define mpf_SETPERM(f, s, r, c)

Functions

static int mpf_add_col_nz (mpf_factor_work *f, int r, int c)
static int mpf_add_nonzero (mpf_factor_work *f, int row, int col, mpf_t val)
static void mpf_btranl3_delay2 (mpf_factor_work *f, int r)
static void mpf_btranl3_process2 (mpf_factor_work *f, int r, mpf_svector *x)
static void mpf_btranu3_delay2 (mpf_factor_work *f, int r)
static void mpf_btranu3_process2 (mpf_factor_work *f, int r, mpf_svector *x)
static int mpf_build_iteration_l_data (mpf_factor_work *f)
static int mpf_build_iteration_u_data (mpf_factor_work *f)
static void mpf_clear_row (mpf_factor_work *f, int r)
static void mpf_clear_work (mpf_factor_work *f)
static int mpf_create_column (mpf_factor_work *f, mpf_svector *a, int col, int *p_last_rank)
static int mpf_create_factor_space (mpf_factor_work *f)
static int mpf_create_row (mpf_factor_work *f, mpf_t *a, int row, int minrank)
static int mpf_delete_column (mpf_factor_work *f, int col)
static void mpf_delete_nonzero_col (mpf_factor_work *f, int col, int ind)
static int mpf_delete_nonzero_row (mpf_factor_work *f, int row, int ind)
static int mpf_delete_row (mpf_factor_work *f, int row, mpf_svector *x)
static int mpf_dense_build_matrix (mpf_factor_work *f)
static int mpf_dense_create_col (mpf_factor_work *f, int i)
static void mpf_dense_elim (mpf_factor_work *f, int r, int c)
static int mpf_dense_factor (mpf_factor_work *f)
static int mpf_dense_find_pivot (mpf_factor_work *f, int *p_r, int *p_c)
static int mpf_dense_replace (mpf_factor_work *f)
static int mpf_dense_replace_row (mpf_factor_work *f, int i)
static void mpf_dense_swap (mpf_factor_work *f, int r, int c)
static void mpf_disable_col (mpf_factor_work *f, int c)
static int mpf_elim (mpf_factor_work *f, int r, int c)
static int mpf_elim_row (mpf_factor_work *f, int elim_r, int r, int c, mpf_t *p_pivot_coef)
static int mpf_eliminate_row (mpf_factor_work *f, int rank_p, int rank_r)
static int mpf_expand_col (mpf_factor_work *f, int col)
static int mpf_expand_row (mpf_factor_work *f, int row)
static void mpf_find_coef (mpf_factor_work *f, int r, int c, mpf_t *coef)
static int mpf_find_pivot (mpf_factor_work *f, int *p_r, int *p_c)
static void mpf_find_pivot_column (mpf_factor_work *f, int c, int *p_r)
static void mpf_find_pivot_row (mpf_factor_work *f, int r, int *p_c)
static void mpf_ftranl3_delay2 (mpf_factor_work *f, int c)
static void mpf_ftranl3_process2 (mpf_factor_work *f, int c, mpf_svector *x)
static void mpf_ftranu3_delay2 (mpf_factor_work *f, int c)
static void mpf_ftranu3_process2 (mpf_factor_work *f, int c, mpf_svector *x)
static int mpf_handle_singularity (mpf_factor_work *f)
int mpf_ILLfactor (mpf_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, mpf_t *ccoef, int *p_nsing, int **p_singr, int **p_singc)
void mpf_ILLfactor_btran (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
static void mpf_ILLfactor_btrane (mpf_factor_work *f, mpf_t *x)
static void mpf_ILLfactor_btrane2 (mpf_factor_work *f, mpf_svector *x)
static void mpf_ILLfactor_btranl2 (mpf_factor_work *f, mpf_t *x)
static void mpf_ILLfactor_btranl3 (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
static void mpf_ILLfactor_btranu (mpf_factor_work *f, mpf_t *a, mpf_svector *x)
static void mpf_ILLfactor_btranu3 (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
int mpf_ILLfactor_create_factor_work (mpf_factor_work *f, int dim)
void mpf_ILLfactor_free_factor_work (mpf_factor_work *f)
void mpf_ILLfactor_ftran (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
void mpf_ILLfactor_ftran_update (mpf_factor_work *f, mpf_svector *a, mpf_svector *upd, mpf_svector *x)
static void mpf_ILLfactor_ftrane (mpf_factor_work *f, mpf_t *a)
static void mpf_ILLfactor_ftrane2 (mpf_factor_work *f, mpf_svector *a)
static void mpf_ILLfactor_ftranl (mpf_factor_work *f, mpf_t *a)
static void mpf_ILLfactor_ftranl3 (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
static void mpf_ILLfactor_ftranu (mpf_factor_work *f, mpf_t *a, mpf_svector *x)
static void mpf_ILLfactor_ftranu3 (mpf_factor_work *f, mpf_svector *a, mpf_svector *x)
void mpf_ILLfactor_init_factor_work (mpf_factor_work *f)
int mpf_ILLfactor_set_factor_dparam (mpf_factor_work *f, int param, mpf_t val)
int mpf_ILLfactor_set_factor_iparam (mpf_factor_work *f, int param, int val)
static int mpf_ILLfactor_try (mpf_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, mpf_t *ccoef)
int mpf_ILLfactor_update (mpf_factor_work *f, mpf_svector *a, int col_p, int *p_refact)
static int mpf_init_matrix (mpf_factor_work *f, int *basis, int *cbeg, int *clen, int *in_ucindx, mpf_t *in_uccoef)
static void mpf_load_row (mpf_factor_work *f, int r)
static int mpf_make_lc_space (mpf_factor_work *f, int space)
static int mpf_make_uc_space (mpf_factor_work *f, int space)
static int mpf_make_ur_space (mpf_factor_work *f, int space)
static int mpf_move_pivot (mpf_factor_work *f, int rank_r)
static int mpf_move_pivot_col (mpf_factor_work *f, int c, int r)
static int mpf_move_pivot_row (mpf_factor_work *f, int r, int c)
static void mpf_remove_col (mpf_factor_work *f, int c)
static void mpf_remove_col_nz (mpf_factor_work *f, int r, int c)
static void mpf_remove_row (mpf_factor_work *f, int r)
static void mpf_remove_row_nz (mpf_factor_work *f, int r, int c)
static void mpf_serow_delay (mpf_factor_work *f, int r, int rank_r)
static int mpf_serow_process (mpf_factor_work *f, int r, mpf_svector *newr, int rank_r)
static void mpf_set_col_nz (mpf_factor_work *f, int c)
static void mpf_set_row_nz (mpf_factor_work *f, int r)
static void mpf_shift_permutations (mpf_factor_work *f, int rank_p, int rank_r)
static int mpf_sparse_eliminate_row (mpf_factor_work *f, mpf_svector *x, int row_p, int rank_r)


Define Documentation

#define mpf_EGlpNumSetToMaxAbsAndDo ( a,
b,
 ) 

Value:

if(mpf_EGlpNumIsGreatZero(b))\
  {\
    if(mpf_EGlpNumIsLess(a,b)){\
      mpf_EGlpNumCopy(a,b);\
      c;\
      }\
  }\
  else\
  {\
    mpf_EGlpNumSign(a);\
    if(mpf_EGlpNumIsLess(b,a)){\
      mpf_EGlpNumCopy(a,b);\
      c;\
      }\
    mpf_EGlpNumSign(a);\
  }

Definition at line 28 of file mpf_factor.c.

Referenced by mpf_dense_find_pivot().

#define mpf_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 mpf_factor.c.

Referenced by mpf_elim().


Function Documentation

static int mpf_add_col_nz ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1148 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_make_uc_space(), mpf_set_col_nz(), mpf_uc_info::nzcnt, mpf_factor_work::uc_freebeg, mpf_factor_work::uc_inf, mpf_factor_work::uc_space, and mpf_factor_work::ucindx.

Referenced by mpf_elim_row().

Here is the call graph for this function:

static int mpf_add_nonzero ( mpf_factor_work f,
int  row,
int  col,
mpf_t  val 
) [static]

Definition at line 4773 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_expand_col(), mpf_expand_row(), mpf_ur_info::nzcnt, mpf_uc_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_freebeg, mpf_factor_work::uc_inf, mpf_factor_work::uccoef, mpf_factor_work::ucindx, mpf_factor_work::ucrind, mpf_factor_work::ur_freebeg, mpf_factor_work::ur_inf, mpf_factor_work::ur_space, mpf_factor_work::urcind, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_create_column(), mpf_create_row(), and mpf_sparse_eliminate_row().

Here is the call graph for this function:

static void mpf_btranl3_delay2 ( mpf_factor_work f,
int  r 
) [static]

Definition at line 3997 of file mpf_factor.c.

References mpf_factor_work::lr_inf, mpf_factor_work::lrindx, mpf_lr_info::nzcnt, mpf_lr_info::rbeg, and mpf_lr_info::rrank.

Referenced by mpf_ILLfactor_btranl3().

static void mpf_btranl3_process2 ( mpf_factor_work f,
int  r,
mpf_svector x 
) [static]

Definition at line 4071 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_factor_work::lr_inf, mpf_factor_work::lrcoef, mpf_factor_work::lrindx, mpf_lr_info::nzcnt, mpf_svector::nzcnt, mpf_lr_info::rbeg, mpf_lr_info::rrank, mpf_factor_work::szero_tol, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_btranl3().

static void mpf_btranu3_delay2 ( mpf_factor_work f,
int  r 
) [static]

Definition at line 4385 of file mpf_factor.c.

References mpf_factor_work::crank, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rperm, mpf_factor_work::ur_inf, and mpf_factor_work::urindx.

Referenced by mpf_ILLfactor_btranu3().

static void mpf_btranu3_process2 ( mpf_factor_work f,
int  r,
mpf_svector x 
) [static]

Definition at line 4459 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::crank, mpf_svector::indx, mpf_svector::nzcnt, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rperm, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, mpf_factor_work::urindx, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_btranu3().

static int mpf_build_iteration_l_data ( mpf_factor_work f  )  [static]

Definition at line 2183 of file mpf_factor.c.

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

Referenced by mpf_ILLfactor_try().

static int mpf_build_iteration_u_data ( mpf_factor_work f  )  [static]

Definition at line 2033 of file mpf_factor.c.

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

Referenced by mpf_ILLfactor_try().

static void mpf_clear_row ( mpf_factor_work f,
int  r 
) [static]

Definition at line 743 of file mpf_factor.c.

References mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_inf, mpf_factor_work::urindx, mpf_factor_work::work_coef, and mpf_factor_work::work_indx.

Referenced by mpf_elim().

static void mpf_clear_work ( mpf_factor_work f  )  [static]

Definition at line 710 of file mpf_factor.c.

References mpf_factor_work::dim, and mpf_factor_work::work_coef.

static int mpf_create_column ( mpf_factor_work f,
mpf_svector a,
int  col,
int *  p_last_rank 
) [static]

Definition at line 4953 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_factor_work::maxelem_cur, mpf_add_nonzero(), mpf_svector::nzcnt, mpf_factor_work::nzcnt_cur, and mpf_factor_work::rrank.

Referenced by mpf_ILLfactor_update().

Here is the call graph for this function:

static int mpf_create_factor_space ( mpf_factor_work f  )  [static]

Definition at line 1810 of file mpf_factor.c.

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

Referenced by mpf_init_matrix().

static int mpf_create_row ( mpf_factor_work f,
mpf_t *  a,
int  row,
int  minrank 
) [static]

Definition at line 5127 of file mpf_factor.c.

References mpf_factor_work::cperm, mpf_factor_work::dim, mpf_factor_work::fzero_tol, mpf_factor_work::maxelem_cur, and mpf_add_nonzero().

Here is the call graph for this function:

static int mpf_delete_column ( mpf_factor_work f,
int  col 
) [static]

Definition at line 4878 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_delete_nonzero_row(), mpf_uc_info::nzcnt, mpf_factor_work::nzcnt_cur, mpf_factor_work::uc_inf, mpf_factor_work::ucindx, and mpf_factor_work::ucrind.

Referenced by mpf_ILLfactor_update().

Here is the call graph for this function:

static void mpf_delete_nonzero_col ( mpf_factor_work f,
int  col,
int  ind 
) [static]

Definition at line 4852 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_uc_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::uccoef, mpf_factor_work::ucindx, mpf_factor_work::ucrind, mpf_factor_work::ur_inf, and mpf_factor_work::urcind.

Referenced by mpf_delete_row().

static int mpf_delete_nonzero_row ( mpf_factor_work f,
int  row,
int  ind 
) [static]

Definition at line 4819 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::ucrind, mpf_factor_work::ur_inf, mpf_factor_work::urcind, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_delete_column().

static int mpf_delete_row ( mpf_factor_work f,
int  row,
mpf_svector x 
) [static]

Definition at line 4913 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_delete_nonzero_col(), mpf_svector::nzcnt, mpf_ur_info::nzcnt, mpf_factor_work::nzcnt_cur, mpf_ur_info::rbeg, mpf_factor_work::ur_inf, mpf_factor_work::urcind, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Here is the call graph for this function:

static int mpf_dense_build_matrix ( mpf_factor_work f  )  [static]

Definition at line 2322 of file mpf_factor.c.

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

Referenced by mpf_dense_factor().

static int mpf_dense_create_col ( mpf_factor_work f,
int  i 
) [static]

Definition at line 2594 of file mpf_factor.c.

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

Referenced by mpf_dense_replace().

static void mpf_dense_elim ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2456 of file mpf_factor.c.

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

Referenced by mpf_dense_factor().

Here is the call graph for this function:

static int mpf_dense_factor ( mpf_factor_work f  )  [static]

Definition at line 2667 of file mpf_factor.c.

References mpf_factor_work::dense_base, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, mpf_factor_work::maxelem_factor, mpf_factor_work::maxelem_orig, mpf_factor_work::maxmult, mpf_dense_build_matrix(), mpf_dense_elim(), mpf_dense_find_pivot(), mpf_dense_replace(), mpf_handle_singularity(), mpf_factor_work::nstages, mpf_factor_work::partial_cur, and mpf_factor_work::stage.

Referenced by mpf_ILLfactor_try().

Here is the call graph for this function:

static int mpf_dense_find_pivot ( mpf_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 2368 of file mpf_factor.c.

References mpf_factor_work::dcols, mpf_factor_work::dense_base, mpf_factor_work::dmat, mpf_factor_work::drows, E_NO_PIVOT, mpf_EGlpNumSetToMaxAbsAndDo, mpf_factor_work::rperm, mpf_factor_work::stage, and mpf_factor_work::ur_inf.

Referenced by mpf_dense_factor().

static int mpf_dense_replace ( mpf_factor_work f  )  [static]

Definition at line 2646 of file mpf_factor.c.

References mpf_factor_work::dcols, mpf_factor_work::dmat, mpf_factor_work::drows, mpf_dense_create_col(), and mpf_dense_replace_row().

Referenced by mpf_dense_factor().

Here is the call graph for this function:

static int mpf_dense_replace_row ( mpf_factor_work f,
int  i 
) [static]

Definition at line 2537 of file mpf_factor.c.

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

Referenced by mpf_dense_replace().

static void mpf_dense_swap ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2418 of file mpf_factor.c.

References mpf_factor_work::cperm, mpf_factor_work::crank, mpf_factor_work::dcols, mpf_factor_work::dense_base, mpf_factor_work::dmat, mpf_factor_work::drows, mpf_factor_work::rperm, mpf_factor_work::rrank, and mpf_factor_work::stage.

Referenced by mpf_dense_elim().

static void mpf_disable_col ( mpf_factor_work f,
int  c 
) [static]

Definition at line 1201 of file mpf_factor.c.

References mpf_uc_info::next, mpf_uc_info::prev, and mpf_factor_work::uc_inf.

Referenced by mpf_find_pivot().

static int mpf_elim ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1493 of file mpf_factor.c.

References mpf_lc_info::c, mpf_uc_info::cbeg, mpf_lc_info::cbeg, mpf_factor_work::lc_freebeg, mpf_factor_work::lc_inf, mpf_factor_work::lc_space, mpf_factor_work::lccoef, mpf_factor_work::lcindx, mpf_ur_info::max, mpf_clear_row(), mpf_elim_row(), mpf_load_row(), mpf_make_lc_space(), mpf_remove_col(), mpf_remove_col_nz(), mpf_remove_row(), mpf_remove_row_nz(), mpf_SETPERM, mpf_factor_work::nstages, mpf_uc_info::nzcnt, mpf_ur_info::nzcnt, mpf_lc_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::stage, mpf_factor_work::uc_inf, mpf_factor_work::ucindx, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_ILLfactor_try().

Here is the call graph for this function:

static int mpf_elim_row ( mpf_factor_work f,
int  elim_r,
int  r,
int  c,
mpf_t *  p_pivot_coef 
) [static]

Definition at line 1284 of file mpf_factor.c.

References mpf_factor_work::fzero_tol, mpf_add_col_nz(), mpf_find_coef(), mpf_make_ur_space(), mpf_remove_col_nz(), mpf_set_row_nz(), mpf_ur_info::nzcnt, mpf_ur_info::pivcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_freebeg, mpf_factor_work::ur_inf, mpf_factor_work::ur_space, mpf_factor_work::urcoef, mpf_factor_work::urindx, mpf_factor_work::work_coef, and mpf_factor_work::work_indx.

Referenced by mpf_elim().

Here is the call graph for this function:

static int mpf_eliminate_row ( mpf_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5051 of file mpf_factor.c.

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

static int mpf_expand_col ( mpf_factor_work f,
int  col 
) [static]

Definition at line 4695 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_make_uc_space(), mpf_uc_info::nzcnt, mpf_factor_work::uc_freebeg, mpf_factor_work::uc_inf, mpf_factor_work::uc_space, mpf_factor_work::uccoef, mpf_factor_work::ucindx, and mpf_factor_work::ucrind.

Referenced by mpf_add_nonzero().

Here is the call graph for this function:

static int mpf_expand_row ( mpf_factor_work f,
int  row 
) [static]

Definition at line 4734 of file mpf_factor.c.

References mpf_make_ur_space(), mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_freebeg, mpf_factor_work::ur_inf, mpf_factor_work::ur_space, mpf_factor_work::urcind, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_add_nonzero().

Here is the call graph for this function:

static void mpf_find_coef ( mpf_factor_work f,
int  r,
int  c,
mpf_t *  coef 
) [static]

Definition at line 1260 of file mpf_factor.c.

References mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_elim_row(), and mpf_find_pivot_column().

static int mpf_find_pivot ( mpf_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 1703 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_factor_work::dim, E_NO_PIVOT, mpf_factor_work::max_k, mpf_disable_col(), mpf_find_pivot_column(), mpf_find_pivot_row(), mpf_ur_info::next, mpf_uc_info::next, mpf_factor_work::p, mpf_uc_info::prev, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::ucindx, mpf_factor_work::ur_inf, and mpf_factor_work::urindx.

Referenced by mpf_ILLfactor_try().

Here is the call graph for this function:

static void mpf_find_pivot_column ( mpf_factor_work f,
int  c,
int *  p_r 
) [static]

Definition at line 1625 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_find_coef(), mpf_uc_info::nzcnt, mpf_ur_info::pivcnt, mpf_factor_work::uc_inf, mpf_factor_work::ucindx, and mpf_factor_work::ur_inf.

Referenced by mpf_find_pivot().

Here is the call graph for this function:

static void mpf_find_pivot_row ( mpf_factor_work f,
int  r,
int *  p_c 
) [static]

Definition at line 1665 of file mpf_factor.c.

References mpf_factor_work::partial_cur, mpf_ur_info::pivcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_find_pivot().

static void mpf_ftranl3_delay2 ( mpf_factor_work f,
int  c 
) [static]

Definition at line 3089 of file mpf_factor.c.

References mpf_lc_info::cbeg, mpf_lc_info::crank, mpf_factor_work::lc_inf, mpf_factor_work::lcindx, and mpf_lc_info::nzcnt.

Referenced by mpf_ILLfactor_ftranl3().

static void mpf_ftranl3_process2 ( mpf_factor_work f,
int  c,
mpf_svector x 
) [static]

Definition at line 3162 of file mpf_factor.c.

References mpf_lc_info::cbeg, mpf_svector::coef, mpf_lc_info::crank, mpf_svector::indx, mpf_factor_work::lc_inf, mpf_factor_work::lccoef, mpf_factor_work::lcindx, mpf_lc_info::nzcnt, mpf_svector::nzcnt, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_ftranl3().

static void mpf_ftranu3_delay2 ( mpf_factor_work f,
int  c 
) [static]

Definition at line 3490 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_factor_work::cperm, mpf_uc_info::nzcnt, mpf_factor_work::rrank, mpf_factor_work::uc_inf, and mpf_factor_work::ucindx.

Referenced by mpf_ILLfactor_ftranu3().

static void mpf_ftranu3_process2 ( mpf_factor_work f,
int  c,
mpf_svector x 
) [static]

Definition at line 3565 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_svector::coef, mpf_factor_work::cperm, mpf_svector::indx, mpf_svector::nzcnt, mpf_uc_info::nzcnt, mpf_factor_work::rrank, mpf_factor_work::szero_tol, mpf_factor_work::uc_inf, mpf_factor_work::uccoef, mpf_factor_work::ucindx, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_ftranu3().

static int mpf_handle_singularity ( mpf_factor_work f  )  [static]

Definition at line 2285 of file mpf_factor.c.

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

Referenced by mpf_dense_factor(), and mpf_ILLfactor_try().

int mpf_ILLfactor ( mpf_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
mpf_t *  ccoef,
int *  p_nsing,
int **  p_singr,
int **  p_singc 
)

Definition at line 2961 of file mpf_factor.c.

References E_FACTOR_BLOWUP, mpf_ILLfactor_try(), mpf_factor_work::p_nsing, mpf_factor_work::p_singc, mpf_factor_work::p_singr, and mpf_factor_work::partial_cur.

Here is the call graph for this function:

void mpf_ILLfactor_btran ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
)

Definition at line 4549 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::dim, mpf_svector::indx, mpf_ILLfactor_btrane2(), mpf_ILLfactor_btranu(), mpf_ILLfactor_btranu3(), mpf_svector::nzcnt, SPARSE_FACTOR, mpf_factor_work::work_coef, and mpf_factor_work::xtmp.

Referenced by mpf_ILLbasis_row_solve().

Here is the call graph for this function:

static void mpf_ILLfactor_btrane ( mpf_factor_work f,
mpf_t *  x 
) [static]

Definition at line 4160 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::er_inf, mpf_factor_work::ercoef, mpf_factor_work::erindx, mpf_factor_work::etacnt, mpf_er_info::nzcnt, and mpf_er_info::rbeg.

static void mpf_ILLfactor_btrane2 ( mpf_factor_work f,
mpf_svector x 
) [static]

Definition at line 4214 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::er_inf, mpf_factor_work::ercoef, mpf_factor_work::erindx, mpf_factor_work::etacnt, mpf_svector::indx, mpf_er_info::nzcnt, mpf_svector::nzcnt, mpf_er_info::rbeg, mpf_factor_work::work_coef, and mpf_factor_work::work_indx.

Referenced by mpf_ILLfactor_btran().

static void mpf_ILLfactor_btranl2 ( mpf_factor_work f,
mpf_t *  x 
) [static]

Definition at line 3919 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::lr_inf, mpf_factor_work::lrcoef, mpf_factor_work::lrindx, mpf_lr_info::nzcnt, and mpf_lr_info::rbeg.

static void mpf_ILLfactor_btranl3 ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
) [static]

Definition at line 4121 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_factor_work::lr_inf, mpf_btranl3_delay2(), mpf_btranl3_process2(), mpf_svector::nzcnt, and mpf_factor_work::work_coef.

Here is the call graph for this function:

static void mpf_ILLfactor_btranu ( mpf_factor_work f,
mpf_t *  a,
mpf_svector x 
) [static]

Definition at line 4302 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::cperm, mpf_factor_work::dim, mpf_svector::indx, mpf_svector::nzcnt, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rperm, mpf_factor_work::szero_tol, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_ILLfactor_btran().

static void mpf_ILLfactor_btranu3 ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
) [static]

Definition at line 4509 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_btranu3_delay2(), mpf_btranu3_process2(), mpf_svector::nzcnt, mpf_factor_work::ur_inf, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_btran().

Here is the call graph for this function:

int mpf_ILLfactor_create_factor_work ( mpf_factor_work f,
int  dim 
)

Definition at line 263 of file mpf_factor.c.

References mpf_factor_work::cperm, mpf_factor_work::crank, mpf_factor_work::dim, mpf_factor_work::etacnt, ILL_SAFE_MALLOC, mpf_factor_work::lc_inf, mpf_factor_work::lr_inf, mpf_ur_info::max, mpf_factor_work::max_k, mpf_ILLfactor_free_factor_work(), mpf_ILLsvector_alloc(), mpf_ur_info::next, mpf_uc_info::next, mpf_lr_info::nzcnt, mpf_lc_info::nzcnt, mpf_ur_info::nzcnt, mpf_uc_info::nzcnt, mpf_ur_info::prev, mpf_uc_info::prev, mpf_factor_work::rperm, mpf_factor_work::rrank, mpf_factor_work::uc_inf, mpf_factor_work::ur_inf, mpf_factor_work::work_coef, mpf_factor_work::work_indx, and mpf_factor_work::xtmp.

Here is the call graph for this function:

void mpf_ILLfactor_free_factor_work ( mpf_factor_work f  ) 

Definition at line 131 of file mpf_factor.c.

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

Here is the call graph for this function:

void mpf_ILLfactor_ftran ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
)

Definition at line 3656 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::dim, mpf_svector::indx, mpf_ILLfactor_ftranl3(), mpf_svector::nzcnt, SPARSE_FACTOR, and mpf_factor_work::work_coef.

Here is the call graph for this function:

void mpf_ILLfactor_ftran_update ( mpf_factor_work f,
mpf_svector a,
mpf_svector upd,
mpf_svector x 
)

Definition at line 3777 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::dim, mpf_svector::indx, mpf_ILLfactor_ftranl3(), mpf_svector::nzcnt, SPARSE_FACTOR, and mpf_factor_work::work_coef.

Here is the call graph for this function:

static void mpf_ILLfactor_ftrane ( mpf_factor_work f,
mpf_t *  a 
) [static]

Definition at line 3250 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::er_inf, mpf_factor_work::ercoef, mpf_factor_work::erindx, mpf_factor_work::etacnt, mpf_er_info::nzcnt, and mpf_er_info::rbeg.

static void mpf_ILLfactor_ftrane2 ( mpf_factor_work f,
mpf_svector a 
) [static]

Definition at line 3302 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::er_inf, mpf_factor_work::ercoef, mpf_factor_work::erindx, mpf_factor_work::etacnt, mpf_factor_work::fzero_tol, mpf_svector::indx, mpf_er_info::nzcnt, mpf_svector::nzcnt, mpf_er_info::rbeg, mpf_factor_work::work_coef, and mpf_factor_work::work_indx.

static void mpf_ILLfactor_ftranl ( mpf_factor_work f,
mpf_t *  a 
) [static]

Definition at line 3012 of file mpf_factor.c.

References mpf_lc_info::cbeg, mpf_factor_work::dim, mpf_factor_work::lc_inf, mpf_factor_work::lccoef, and mpf_factor_work::lcindx.

static void mpf_ILLfactor_ftranl3 ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
) [static]

Definition at line 3211 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_factor_work::lc_inf, mpf_ftranl3_delay2(), mpf_ftranl3_process2(), mpf_svector::nzcnt, and mpf_factor_work::work_coef.

Referenced by mpf_ILLfactor_ftran(), and mpf_ILLfactor_ftran_update().

Here is the call graph for this function:

static void mpf_ILLfactor_ftranu ( mpf_factor_work f,
mpf_t *  a,
mpf_svector x 
) [static]

Definition at line 3407 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_svector::coef, mpf_factor_work::cperm, mpf_factor_work::dim, mpf_svector::indx, mpf_svector::nzcnt, mpf_uc_info::nzcnt, mpf_factor_work::rperm, mpf_factor_work::szero_tol, mpf_factor_work::uc_inf, mpf_factor_work::uccoef, and mpf_factor_work::ucindx.

static void mpf_ILLfactor_ftranu3 ( mpf_factor_work f,
mpf_svector a,
mpf_svector x 
) [static]

Definition at line 3616 of file mpf_factor.c.

References mpf_svector::coef, mpf_svector::indx, mpf_ftranu3_delay2(), mpf_ftranu3_process2(), mpf_svector::nzcnt, mpf_factor_work::uc_inf, and mpf_factor_work::work_coef.

Here is the call graph for this function:

void mpf_ILLfactor_init_factor_work ( mpf_factor_work f  ) 

Definition at line 84 of file mpf_factor.c.

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

Here is the call graph for this function:

int mpf_ILLfactor_set_factor_dparam ( mpf_factor_work f,
int  param,
mpf_t  val 
)

Definition at line 211 of file mpf_factor.c.

References mpf_factor_work::dense_fract, mpf_factor_work::er_space_mul, mpf_factor_work::fzero_tol, mpf_factor_work::grow_mul, mpf_factor_work::lc_space_mul, mpf_factor_work::lr_space_mul, mpf_factor_work::maxmult, mpf_factor_work::partial_cur, mpf_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, mpf_factor_work::szero_tol, mpf_factor_work::uc_space_mul, mpf_factor_work::updmaxmult, and mpf_factor_work::ur_space_mul.

int mpf_ILLfactor_set_factor_iparam ( mpf_factor_work f,
int  param,
int  val 
)

Definition at line 184 of file mpf_factor.c.

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

static int mpf_ILLfactor_try ( mpf_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
mpf_t *  ccoef 
) [static]

Definition at line 2762 of file mpf_factor.c.

References mpf_factor_work::dense_fract, mpf_factor_work::dense_min, mpf_factor_work::dim, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, mpf_factor_work::maxelem_factor, mpf_factor_work::maxelem_orig, mpf_factor_work::maxmult, mpf_factor_work::minmult, mpf_build_iteration_l_data(), mpf_build_iteration_u_data(), mpf_dense_factor(), mpf_elim(), mpf_find_pivot(), mpf_handle_singularity(), mpf_init_matrix(), mpf_factor_work::nstages, mpf_uc_info::nzcnt, mpf_factor_work::partial_cur, mpf_factor_work::partial_tol, mpf_ur_info::pivcnt, mpf_factor_work::stage, mpf_factor_work::uc_inf, and mpf_factor_work::ur_inf.

Referenced by mpf_ILLfactor().

Here is the call graph for this function:

int mpf_ILLfactor_update ( mpf_factor_work f,
mpf_svector a,
int  col_p,
int *  p_refact 
)

Definition at line 5474 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_svector::coef, mpf_factor_work::crank, mpf_factor_work::etacnt, mpf_factor_work::etamax, mpf_svector::indx, mpf_create_column(), mpf_delete_column(), mpf_ur_info::nzcnt, mpf_svector::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rrank, mpf_factor_work::uc_inf, mpf_factor_work::ucindx, mpf_factor_work::ur_inf, mpf_factor_work::urindx, and mpf_factor_work::work_coef.

Referenced by mpf_ILLbasis_update().

Here is the call graph for this function:

static int mpf_init_matrix ( mpf_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  in_ucindx,
mpf_t *  in_uccoef 
) [static]

Definition at line 1879 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::fzero_tol, mpf_factor_work::max_k, mpf_create_factor_space(), mpf_ur_info::nzcnt, mpf_uc_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_freebeg, mpf_factor_work::uc_inf, mpf_factor_work::uc_space, mpf_factor_work::ucindx, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_ILLfactor_try().

Here is the call graph for this function:

static void mpf_load_row ( mpf_factor_work f,
int  r 
) [static]

Definition at line 723 of file mpf_factor.c.

References mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, mpf_factor_work::urindx, mpf_factor_work::work_coef, and mpf_factor_work::work_indx.

Referenced by mpf_elim().

static int mpf_make_lc_space ( mpf_factor_work f,
int  space 
) [static]

Definition at line 983 of file mpf_factor.c.

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

Referenced by mpf_elim().

static int mpf_make_uc_space ( mpf_factor_work f,
int  space 
) [static]

Definition at line 873 of file mpf_factor.c.

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

Referenced by mpf_add_col_nz(), and mpf_expand_col().

static int mpf_make_ur_space ( mpf_factor_work f,
int  space 
) [static]

Definition at line 762 of file mpf_factor.c.

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

Referenced by mpf_elim_row(), and mpf_expand_row().

static int mpf_move_pivot ( mpf_factor_work f,
int  rank_r 
) [static]

Definition at line 5444 of file mpf_factor.c.

References mpf_factor_work::cperm, E_UPDATE_SINGULAR_COL, mpf_move_pivot_col(), mpf_move_pivot_row(), and mpf_factor_work::rperm.

Here is the call graph for this function:

static int mpf_move_pivot_col ( mpf_factor_work f,
int  c,
int  r 
) [static]

Definition at line 5405 of file mpf_factor.c.

References __QS_SB_VERB, mpf_uc_info::cbeg, E_UPDATE_SINGULAR_COL, mpf_uc_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::uccoef, mpf_factor_work::ucindx, mpf_factor_work::ucrind, mpf_factor_work::ur_inf, and mpf_factor_work::urcind.

Referenced by mpf_move_pivot().

static int mpf_move_pivot_row ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 5365 of file mpf_factor.c.

References __QS_SB_VERB, mpf_uc_info::cbeg, E_UPDATE_SINGULAR_ROW, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::uc_inf, mpf_factor_work::ucrind, mpf_factor_work::ur_inf, mpf_factor_work::urcind, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_move_pivot().

static void mpf_remove_col ( mpf_factor_work f,
int  c 
) [static]

Definition at line 1217 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_uc_info::next, mpf_uc_info::nzcnt, mpf_uc_info::prev, mpf_factor_work::uc_inf, and mpf_factor_work::ucindx.

Referenced by mpf_elim().

static void mpf_remove_col_nz ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1084 of file mpf_factor.c.

References mpf_uc_info::cbeg, mpf_set_col_nz(), mpf_uc_info::nzcnt, mpf_factor_work::uc_inf, and mpf_factor_work::ucindx.

Referenced by mpf_elim(), and mpf_elim_row().

Here is the call graph for this function:

static void mpf_remove_row ( mpf_factor_work f,
int  r 
) [static]

Definition at line 1244 of file mpf_factor.c.

References mpf_ur_info::next, mpf_ur_info::prev, and mpf_factor_work::ur_inf.

Referenced by mpf_elim().

static void mpf_remove_row_nz ( mpf_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1109 of file mpf_factor.c.

References mpf_set_row_nz(), mpf_ur_info::pivcnt, mpf_ur_info::rbeg, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, and mpf_factor_work::urindx.

Referenced by mpf_elim().

Here is the call graph for this function:

static void mpf_serow_delay ( mpf_factor_work f,
int  r,
int  rank_r 
) [static]

Definition at line 5178 of file mpf_factor.c.

References mpf_factor_work::crank, mpf_ur_info::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rperm, mpf_factor_work::ur_inf, and mpf_factor_work::urindx.

Referenced by mpf_sparse_eliminate_row().

static int mpf_serow_process ( mpf_factor_work f,
int  r,
mpf_svector newr,
int  rank_r 
) [static]

Definition at line 5212 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::crank, E_UPDATE_NOSPACE, mpf_factor_work::er_freebeg, mpf_factor_work::er_space, mpf_factor_work::ercoef, mpf_factor_work::erindx, mpf_factor_work::fzero_tol, mpf_svector::indx, mpf_factor_work::maxelem_cur, mpf_ur_info::nzcnt, mpf_svector::nzcnt, mpf_ur_info::rbeg, mpf_factor_work::rperm, mpf_factor_work::ur_inf, mpf_factor_work::urcoef, mpf_factor_work::urindx, and mpf_factor_work::work_coef.

Referenced by mpf_sparse_eliminate_row().

static void mpf_set_col_nz ( mpf_factor_work f,
int  c 
) [static]

Definition at line 1038 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::max_k, mpf_uc_info::next, mpf_uc_info::nzcnt, mpf_uc_info::prev, and mpf_factor_work::uc_inf.

Referenced by mpf_add_col_nz(), and mpf_remove_col_nz().

static void mpf_set_row_nz ( mpf_factor_work f,
int  r 
) [static]

Definition at line 1061 of file mpf_factor.c.

References mpf_factor_work::dim, mpf_factor_work::max_k, mpf_ur_info::next, mpf_ur_info::pivcnt, mpf_ur_info::prev, and mpf_factor_work::ur_inf.

Referenced by mpf_elim_row(), and mpf_remove_row_nz().

static void mpf_shift_permutations ( mpf_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5025 of file mpf_factor.c.

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

static int mpf_sparse_eliminate_row ( mpf_factor_work f,
mpf_svector x,
int  row_p,
int  rank_r 
) [static]

Definition at line 5302 of file mpf_factor.c.

References mpf_svector::coef, mpf_factor_work::crank, mpf_factor_work::dim, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_svector::indx, mpf_add_nonzero(), mpf_serow_delay(), mpf_serow_process(), mpf_svector::nzcnt, mpf_factor_work::nzcnt_cur, mpf_factor_work::ur_inf, and mpf_factor_work::work_coef.

Here is the call graph for this function:


Generated on Thu Mar 29 09:41:55 2012 for QSopt_ex by  doxygen 1.4.7