mpq_factor.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include "config.h"
#include "mpq_iqsutil.h"
#include "mpq_lpdefs.h"
#include "mpq_factor.h"

Include dependency graph for mpq_factor.c:

Go to the source code of this file.

Defines

#define mpq_EGlpNumSetToMaxAbsAndDo(a, b, c)
#define mpq_SETPERM(f, s, r, c)

Functions

static int mpq_add_col_nz (mpq_factor_work *f, int r, int c)
static int mpq_add_nonzero (mpq_factor_work *f, int row, int col, mpq_t val)
static void mpq_btranl3_delay2 (mpq_factor_work *f, int r)
static void mpq_btranl3_process2 (mpq_factor_work *f, int r, mpq_svector *x)
static void mpq_btranu3_delay2 (mpq_factor_work *f, int r)
static void mpq_btranu3_process2 (mpq_factor_work *f, int r, mpq_svector *x)
static int mpq_build_iteration_l_data (mpq_factor_work *f)
static int mpq_build_iteration_u_data (mpq_factor_work *f)
static void mpq_clear_row (mpq_factor_work *f, int r)
static void mpq_clear_work (mpq_factor_work *f)
static int mpq_create_column (mpq_factor_work *f, mpq_svector *a, int col, int *p_last_rank)
static int mpq_create_factor_space (mpq_factor_work *f)
static int mpq_create_row (mpq_factor_work *f, mpq_t *a, int row, int minrank)
static int mpq_delete_column (mpq_factor_work *f, int col)
static void mpq_delete_nonzero_col (mpq_factor_work *f, int col, int ind)
static int mpq_delete_nonzero_row (mpq_factor_work *f, int row, int ind)
static int mpq_delete_row (mpq_factor_work *f, int row, mpq_svector *x)
static int mpq_dense_build_matrix (mpq_factor_work *f)
static int mpq_dense_create_col (mpq_factor_work *f, int i)
static void mpq_dense_elim (mpq_factor_work *f, int r, int c)
static int mpq_dense_factor (mpq_factor_work *f)
static int mpq_dense_find_pivot (mpq_factor_work *f, int *p_r, int *p_c)
static int mpq_dense_replace (mpq_factor_work *f)
static int mpq_dense_replace_row (mpq_factor_work *f, int i)
static void mpq_dense_swap (mpq_factor_work *f, int r, int c)
static void mpq_disable_col (mpq_factor_work *f, int c)
static int mpq_elim (mpq_factor_work *f, int r, int c)
static int mpq_elim_row (mpq_factor_work *f, int elim_r, int r, int c, mpq_t *p_pivot_coef)
static int mpq_eliminate_row (mpq_factor_work *f, int rank_p, int rank_r)
static int mpq_expand_col (mpq_factor_work *f, int col)
static int mpq_expand_row (mpq_factor_work *f, int row)
static void mpq_find_coef (mpq_factor_work *f, int r, int c, mpq_t *coef)
static int mpq_find_pivot (mpq_factor_work *f, int *p_r, int *p_c)
static void mpq_find_pivot_column (mpq_factor_work *f, int c, int *p_r)
static void mpq_find_pivot_row (mpq_factor_work *f, int r, int *p_c)
static void mpq_ftranl3_delay2 (mpq_factor_work *f, int c)
static void mpq_ftranl3_process2 (mpq_factor_work *f, int c, mpq_svector *x)
static void mpq_ftranu3_delay2 (mpq_factor_work *f, int c)
static void mpq_ftranu3_process2 (mpq_factor_work *f, int c, mpq_svector *x)
static int mpq_handle_singularity (mpq_factor_work *f)
int mpq_ILLfactor (mpq_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, mpq_t *ccoef, int *p_nsing, int **p_singr, int **p_singc)
void mpq_ILLfactor_btran (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
static void mpq_ILLfactor_btrane (mpq_factor_work *f, mpq_t *x)
static void mpq_ILLfactor_btrane2 (mpq_factor_work *f, mpq_svector *x)
static void mpq_ILLfactor_btranl2 (mpq_factor_work *f, mpq_t *x)
static void mpq_ILLfactor_btranl3 (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
static void mpq_ILLfactor_btranu (mpq_factor_work *f, mpq_t *a, mpq_svector *x)
static void mpq_ILLfactor_btranu3 (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
int mpq_ILLfactor_create_factor_work (mpq_factor_work *f, int dim)
void mpq_ILLfactor_free_factor_work (mpq_factor_work *f)
void mpq_ILLfactor_ftran (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
void mpq_ILLfactor_ftran_update (mpq_factor_work *f, mpq_svector *a, mpq_svector *upd, mpq_svector *x)
static void mpq_ILLfactor_ftrane (mpq_factor_work *f, mpq_t *a)
static void mpq_ILLfactor_ftrane2 (mpq_factor_work *f, mpq_svector *a)
static void mpq_ILLfactor_ftranl (mpq_factor_work *f, mpq_t *a)
static void mpq_ILLfactor_ftranl3 (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
static void mpq_ILLfactor_ftranu (mpq_factor_work *f, mpq_t *a, mpq_svector *x)
static void mpq_ILLfactor_ftranu3 (mpq_factor_work *f, mpq_svector *a, mpq_svector *x)
void mpq_ILLfactor_init_factor_work (mpq_factor_work *f)
int mpq_ILLfactor_set_factor_dparam (mpq_factor_work *f, int param, mpq_t val)
int mpq_ILLfactor_set_factor_iparam (mpq_factor_work *f, int param, int val)
static int mpq_ILLfactor_try (mpq_factor_work *f, int *basis, int *cbeg, int *clen, int *cindx, mpq_t *ccoef)
int mpq_ILLfactor_update (mpq_factor_work *f, mpq_svector *a, int col_p, int *p_refact)
static int mpq_init_matrix (mpq_factor_work *f, int *basis, int *cbeg, int *clen, int *in_ucindx, mpq_t *in_uccoef)
static void mpq_load_row (mpq_factor_work *f, int r)
static int mpq_make_lc_space (mpq_factor_work *f, int space)
static int mpq_make_uc_space (mpq_factor_work *f, int space)
static int mpq_make_ur_space (mpq_factor_work *f, int space)
static int mpq_move_pivot (mpq_factor_work *f, int rank_r)
static int mpq_move_pivot_col (mpq_factor_work *f, int c, int r)
static int mpq_move_pivot_row (mpq_factor_work *f, int r, int c)
static void mpq_remove_col (mpq_factor_work *f, int c)
static void mpq_remove_col_nz (mpq_factor_work *f, int r, int c)
static void mpq_remove_row (mpq_factor_work *f, int r)
static void mpq_remove_row_nz (mpq_factor_work *f, int r, int c)
static void mpq_serow_delay (mpq_factor_work *f, int r, int rank_r)
static int mpq_serow_process (mpq_factor_work *f, int r, mpq_svector *newr, int rank_r)
static void mpq_set_col_nz (mpq_factor_work *f, int c)
static void mpq_set_row_nz (mpq_factor_work *f, int r)
static void mpq_shift_permutations (mpq_factor_work *f, int rank_p, int rank_r)
static int mpq_sparse_eliminate_row (mpq_factor_work *f, mpq_svector *x, int row_p, int rank_r)


Define Documentation

#define mpq_EGlpNumSetToMaxAbsAndDo ( a,
b,
 ) 

Value:

if(mpq_EGlpNumIsGreatZero(b))\
  {\
    if(mpq_EGlpNumIsLess(a,b)){\
      mpq_EGlpNumCopy(a,b);\
      c;\
      }\
  }\
  else\
  {\
    mpq_EGlpNumSign(a);\
    if(mpq_EGlpNumIsLess(b,a)){\
      mpq_EGlpNumCopy(a,b);\
      c;\
      }\
    mpq_EGlpNumSign(a);\
  }

Definition at line 28 of file mpq_factor.c.

Referenced by mpq_dense_find_pivot().

#define mpq_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 mpq_factor.c.

Referenced by mpq_elim().


Function Documentation

static int mpq_add_col_nz ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1148 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_make_uc_space(), mpq_set_col_nz(), mpq_uc_info::nzcnt, mpq_factor_work::uc_freebeg, mpq_factor_work::uc_inf, mpq_factor_work::uc_space, and mpq_factor_work::ucindx.

Referenced by mpq_elim_row().

Here is the call graph for this function:

static int mpq_add_nonzero ( mpq_factor_work f,
int  row,
int  col,
mpq_t  val 
) [static]

Definition at line 4773 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_expand_col(), mpq_expand_row(), mpq_ur_info::nzcnt, mpq_uc_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_freebeg, mpq_factor_work::uc_inf, mpq_factor_work::uccoef, mpq_factor_work::ucindx, mpq_factor_work::ucrind, mpq_factor_work::ur_freebeg, mpq_factor_work::ur_inf, mpq_factor_work::ur_space, mpq_factor_work::urcind, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_create_column(), mpq_create_row(), and mpq_sparse_eliminate_row().

Here is the call graph for this function:

static void mpq_btranl3_delay2 ( mpq_factor_work f,
int  r 
) [static]

Definition at line 3997 of file mpq_factor.c.

References mpq_factor_work::lr_inf, mpq_factor_work::lrindx, mpq_lr_info::nzcnt, mpq_lr_info::rbeg, and mpq_lr_info::rrank.

Referenced by mpq_ILLfactor_btranl3().

static void mpq_btranl3_process2 ( mpq_factor_work f,
int  r,
mpq_svector x 
) [static]

Definition at line 4071 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_factor_work::lr_inf, mpq_factor_work::lrcoef, mpq_factor_work::lrindx, mpq_lr_info::nzcnt, mpq_svector::nzcnt, mpq_lr_info::rbeg, mpq_lr_info::rrank, mpq_factor_work::szero_tol, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_btranl3().

static void mpq_btranu3_delay2 ( mpq_factor_work f,
int  r 
) [static]

Definition at line 4385 of file mpq_factor.c.

References mpq_factor_work::crank, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rperm, mpq_factor_work::ur_inf, and mpq_factor_work::urindx.

Referenced by mpq_ILLfactor_btranu3().

static void mpq_btranu3_process2 ( mpq_factor_work f,
int  r,
mpq_svector x 
) [static]

Definition at line 4459 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::crank, mpq_svector::indx, mpq_svector::nzcnt, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rperm, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, mpq_factor_work::urindx, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_btranu3().

static int mpq_build_iteration_l_data ( mpq_factor_work f  )  [static]

Definition at line 2183 of file mpq_factor.c.

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

Referenced by mpq_ILLfactor_try().

static int mpq_build_iteration_u_data ( mpq_factor_work f  )  [static]

Definition at line 2033 of file mpq_factor.c.

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

Referenced by mpq_ILLfactor_try().

static void mpq_clear_row ( mpq_factor_work f,
int  r 
) [static]

Definition at line 743 of file mpq_factor.c.

References mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_inf, mpq_factor_work::urindx, mpq_factor_work::work_coef, and mpq_factor_work::work_indx.

Referenced by mpq_elim().

static void mpq_clear_work ( mpq_factor_work f  )  [static]

Definition at line 710 of file mpq_factor.c.

References mpq_factor_work::dim, and mpq_factor_work::work_coef.

static int mpq_create_column ( mpq_factor_work f,
mpq_svector a,
int  col,
int *  p_last_rank 
) [static]

Definition at line 4953 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_factor_work::maxelem_cur, mpq_add_nonzero(), mpq_svector::nzcnt, mpq_factor_work::nzcnt_cur, and mpq_factor_work::rrank.

Referenced by mpq_ILLfactor_update().

Here is the call graph for this function:

static int mpq_create_factor_space ( mpq_factor_work f  )  [static]

Definition at line 1810 of file mpq_factor.c.

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

Referenced by mpq_init_matrix().

static int mpq_create_row ( mpq_factor_work f,
mpq_t *  a,
int  row,
int  minrank 
) [static]

Definition at line 5127 of file mpq_factor.c.

References mpq_factor_work::cperm, mpq_factor_work::dim, mpq_factor_work::fzero_tol, mpq_factor_work::maxelem_cur, and mpq_add_nonzero().

Here is the call graph for this function:

static int mpq_delete_column ( mpq_factor_work f,
int  col 
) [static]

Definition at line 4878 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_delete_nonzero_row(), mpq_uc_info::nzcnt, mpq_factor_work::nzcnt_cur, mpq_factor_work::uc_inf, mpq_factor_work::ucindx, and mpq_factor_work::ucrind.

Referenced by mpq_ILLfactor_update().

Here is the call graph for this function:

static void mpq_delete_nonzero_col ( mpq_factor_work f,
int  col,
int  ind 
) [static]

Definition at line 4852 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_uc_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::uccoef, mpq_factor_work::ucindx, mpq_factor_work::ucrind, mpq_factor_work::ur_inf, and mpq_factor_work::urcind.

Referenced by mpq_delete_row().

static int mpq_delete_nonzero_row ( mpq_factor_work f,
int  row,
int  ind 
) [static]

Definition at line 4819 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::ucrind, mpq_factor_work::ur_inf, mpq_factor_work::urcind, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_delete_column().

static int mpq_delete_row ( mpq_factor_work f,
int  row,
mpq_svector x 
) [static]

Definition at line 4913 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_delete_nonzero_col(), mpq_svector::nzcnt, mpq_ur_info::nzcnt, mpq_factor_work::nzcnt_cur, mpq_ur_info::rbeg, mpq_factor_work::ur_inf, mpq_factor_work::urcind, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Here is the call graph for this function:

static int mpq_dense_build_matrix ( mpq_factor_work f  )  [static]

Definition at line 2322 of file mpq_factor.c.

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

Referenced by mpq_dense_factor().

static int mpq_dense_create_col ( mpq_factor_work f,
int  i 
) [static]

Definition at line 2594 of file mpq_factor.c.

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

Referenced by mpq_dense_replace().

static void mpq_dense_elim ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2456 of file mpq_factor.c.

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

Referenced by mpq_dense_factor().

Here is the call graph for this function:

static int mpq_dense_factor ( mpq_factor_work f  )  [static]

Definition at line 2667 of file mpq_factor.c.

References mpq_factor_work::dense_base, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, mpq_factor_work::maxelem_factor, mpq_factor_work::maxelem_orig, mpq_factor_work::maxmult, mpq_dense_build_matrix(), mpq_dense_elim(), mpq_dense_find_pivot(), mpq_dense_replace(), mpq_handle_singularity(), mpq_factor_work::nstages, mpq_factor_work::partial_cur, and mpq_factor_work::stage.

Referenced by mpq_ILLfactor_try().

Here is the call graph for this function:

static int mpq_dense_find_pivot ( mpq_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 2368 of file mpq_factor.c.

References mpq_factor_work::dcols, mpq_factor_work::dense_base, mpq_factor_work::dmat, mpq_factor_work::drows, E_NO_PIVOT, mpq_EGlpNumSetToMaxAbsAndDo, mpq_factor_work::rperm, mpq_factor_work::stage, and mpq_factor_work::ur_inf.

Referenced by mpq_dense_factor().

static int mpq_dense_replace ( mpq_factor_work f  )  [static]

Definition at line 2646 of file mpq_factor.c.

References mpq_factor_work::dcols, mpq_factor_work::dmat, mpq_factor_work::drows, mpq_dense_create_col(), and mpq_dense_replace_row().

Referenced by mpq_dense_factor().

Here is the call graph for this function:

static int mpq_dense_replace_row ( mpq_factor_work f,
int  i 
) [static]

Definition at line 2537 of file mpq_factor.c.

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

Referenced by mpq_dense_replace().

static void mpq_dense_swap ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 2418 of file mpq_factor.c.

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

Referenced by mpq_dense_elim().

static void mpq_disable_col ( mpq_factor_work f,
int  c 
) [static]

Definition at line 1201 of file mpq_factor.c.

References mpq_uc_info::next, mpq_uc_info::prev, and mpq_factor_work::uc_inf.

Referenced by mpq_find_pivot().

static int mpq_elim ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1493 of file mpq_factor.c.

References mpq_lc_info::c, mpq_uc_info::cbeg, mpq_lc_info::cbeg, mpq_factor_work::lc_freebeg, mpq_factor_work::lc_inf, mpq_factor_work::lc_space, mpq_factor_work::lccoef, mpq_factor_work::lcindx, mpq_ur_info::max, mpq_clear_row(), mpq_elim_row(), mpq_load_row(), mpq_make_lc_space(), mpq_remove_col(), mpq_remove_col_nz(), mpq_remove_row(), mpq_remove_row_nz(), mpq_SETPERM, mpq_factor_work::nstages, mpq_uc_info::nzcnt, mpq_ur_info::nzcnt, mpq_lc_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::stage, mpq_factor_work::uc_inf, mpq_factor_work::ucindx, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_ILLfactor_try().

Here is the call graph for this function:

static int mpq_elim_row ( mpq_factor_work f,
int  elim_r,
int  r,
int  c,
mpq_t *  p_pivot_coef 
) [static]

Definition at line 1284 of file mpq_factor.c.

References mpq_factor_work::fzero_tol, mpq_add_col_nz(), mpq_find_coef(), mpq_make_ur_space(), mpq_remove_col_nz(), mpq_set_row_nz(), mpq_ur_info::nzcnt, mpq_ur_info::pivcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_freebeg, mpq_factor_work::ur_inf, mpq_factor_work::ur_space, mpq_factor_work::urcoef, mpq_factor_work::urindx, mpq_factor_work::work_coef, and mpq_factor_work::work_indx.

Referenced by mpq_elim().

Here is the call graph for this function:

static int mpq_eliminate_row ( mpq_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5051 of file mpq_factor.c.

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

static int mpq_expand_col ( mpq_factor_work f,
int  col 
) [static]

Definition at line 4695 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_make_uc_space(), mpq_uc_info::nzcnt, mpq_factor_work::uc_freebeg, mpq_factor_work::uc_inf, mpq_factor_work::uc_space, mpq_factor_work::uccoef, mpq_factor_work::ucindx, and mpq_factor_work::ucrind.

Referenced by mpq_add_nonzero().

Here is the call graph for this function:

static int mpq_expand_row ( mpq_factor_work f,
int  row 
) [static]

Definition at line 4734 of file mpq_factor.c.

References mpq_make_ur_space(), mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_freebeg, mpq_factor_work::ur_inf, mpq_factor_work::ur_space, mpq_factor_work::urcind, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_add_nonzero().

Here is the call graph for this function:

static void mpq_find_coef ( mpq_factor_work f,
int  r,
int  c,
mpq_t *  coef 
) [static]

Definition at line 1260 of file mpq_factor.c.

References mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_elim_row(), and mpq_find_pivot_column().

static int mpq_find_pivot ( mpq_factor_work f,
int *  p_r,
int *  p_c 
) [static]

Definition at line 1703 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_factor_work::dim, E_NO_PIVOT, mpq_factor_work::max_k, mpq_disable_col(), mpq_find_pivot_column(), mpq_find_pivot_row(), mpq_ur_info::next, mpq_uc_info::next, mpq_factor_work::p, mpq_uc_info::prev, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::ucindx, mpq_factor_work::ur_inf, and mpq_factor_work::urindx.

Referenced by mpq_ILLfactor_try().

Here is the call graph for this function:

static void mpq_find_pivot_column ( mpq_factor_work f,
int  c,
int *  p_r 
) [static]

Definition at line 1625 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_find_coef(), mpq_uc_info::nzcnt, mpq_ur_info::pivcnt, mpq_factor_work::uc_inf, mpq_factor_work::ucindx, and mpq_factor_work::ur_inf.

Referenced by mpq_find_pivot().

Here is the call graph for this function:

static void mpq_find_pivot_row ( mpq_factor_work f,
int  r,
int *  p_c 
) [static]

Definition at line 1665 of file mpq_factor.c.

References mpq_factor_work::partial_cur, mpq_ur_info::pivcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_find_pivot().

static void mpq_ftranl3_delay2 ( mpq_factor_work f,
int  c 
) [static]

Definition at line 3089 of file mpq_factor.c.

References mpq_lc_info::cbeg, mpq_lc_info::crank, mpq_factor_work::lc_inf, mpq_factor_work::lcindx, and mpq_lc_info::nzcnt.

Referenced by mpq_ILLfactor_ftranl3().

static void mpq_ftranl3_process2 ( mpq_factor_work f,
int  c,
mpq_svector x 
) [static]

Definition at line 3162 of file mpq_factor.c.

References mpq_lc_info::cbeg, mpq_svector::coef, mpq_lc_info::crank, mpq_svector::indx, mpq_factor_work::lc_inf, mpq_factor_work::lccoef, mpq_factor_work::lcindx, mpq_lc_info::nzcnt, mpq_svector::nzcnt, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_ftranl3().

static void mpq_ftranu3_delay2 ( mpq_factor_work f,
int  c 
) [static]

Definition at line 3490 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_factor_work::cperm, mpq_uc_info::nzcnt, mpq_factor_work::rrank, mpq_factor_work::uc_inf, and mpq_factor_work::ucindx.

Referenced by mpq_ILLfactor_ftranu3().

static void mpq_ftranu3_process2 ( mpq_factor_work f,
int  c,
mpq_svector x 
) [static]

Definition at line 3565 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_svector::coef, mpq_factor_work::cperm, mpq_svector::indx, mpq_svector::nzcnt, mpq_uc_info::nzcnt, mpq_factor_work::rrank, mpq_factor_work::szero_tol, mpq_factor_work::uc_inf, mpq_factor_work::uccoef, mpq_factor_work::ucindx, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_ftranu3().

static int mpq_handle_singularity ( mpq_factor_work f  )  [static]

Definition at line 2285 of file mpq_factor.c.

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

Referenced by mpq_dense_factor(), and mpq_ILLfactor_try().

int mpq_ILLfactor ( mpq_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
mpq_t *  ccoef,
int *  p_nsing,
int **  p_singr,
int **  p_singc 
)

Definition at line 2961 of file mpq_factor.c.

References E_FACTOR_BLOWUP, mpq_ILLfactor_try(), mpq_factor_work::p_nsing, mpq_factor_work::p_singc, mpq_factor_work::p_singr, and mpq_factor_work::partial_cur.

Here is the call graph for this function:

void mpq_ILLfactor_btran ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
)

Definition at line 4549 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::dim, mpq_svector::indx, mpq_ILLfactor_btrane2(), mpq_ILLfactor_btranu(), mpq_ILLfactor_btranu3(), mpq_svector::nzcnt, SPARSE_FACTOR, mpq_factor_work::work_coef, and mpq_factor_work::xtmp.

Referenced by mpq_ILLbasis_row_solve().

Here is the call graph for this function:

static void mpq_ILLfactor_btrane ( mpq_factor_work f,
mpq_t *  x 
) [static]

Definition at line 4160 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::er_inf, mpq_factor_work::ercoef, mpq_factor_work::erindx, mpq_factor_work::etacnt, mpq_er_info::nzcnt, and mpq_er_info::rbeg.

static void mpq_ILLfactor_btrane2 ( mpq_factor_work f,
mpq_svector x 
) [static]

Definition at line 4214 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::er_inf, mpq_factor_work::ercoef, mpq_factor_work::erindx, mpq_factor_work::etacnt, mpq_svector::indx, mpq_er_info::nzcnt, mpq_svector::nzcnt, mpq_er_info::rbeg, mpq_factor_work::work_coef, and mpq_factor_work::work_indx.

Referenced by mpq_ILLfactor_btran().

static void mpq_ILLfactor_btranl2 ( mpq_factor_work f,
mpq_t *  x 
) [static]

Definition at line 3919 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::lr_inf, mpq_factor_work::lrcoef, mpq_factor_work::lrindx, mpq_lr_info::nzcnt, and mpq_lr_info::rbeg.

static void mpq_ILLfactor_btranl3 ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
) [static]

Definition at line 4121 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_factor_work::lr_inf, mpq_btranl3_delay2(), mpq_btranl3_process2(), mpq_svector::nzcnt, and mpq_factor_work::work_coef.

Here is the call graph for this function:

static void mpq_ILLfactor_btranu ( mpq_factor_work f,
mpq_t *  a,
mpq_svector x 
) [static]

Definition at line 4302 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::cperm, mpq_factor_work::dim, mpq_svector::indx, mpq_svector::nzcnt, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rperm, mpq_factor_work::szero_tol, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_ILLfactor_btran().

static void mpq_ILLfactor_btranu3 ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
) [static]

Definition at line 4509 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_btranu3_delay2(), mpq_btranu3_process2(), mpq_svector::nzcnt, mpq_factor_work::ur_inf, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_btran().

Here is the call graph for this function:

int mpq_ILLfactor_create_factor_work ( mpq_factor_work f,
int  dim 
)

Definition at line 263 of file mpq_factor.c.

References mpq_factor_work::cperm, mpq_factor_work::crank, mpq_factor_work::dim, mpq_factor_work::etacnt, ILL_SAFE_MALLOC, mpq_factor_work::lc_inf, mpq_factor_work::lr_inf, mpq_ur_info::max, mpq_factor_work::max_k, mpq_ILLfactor_free_factor_work(), mpq_ILLsvector_alloc(), mpq_ur_info::next, mpq_uc_info::next, mpq_lr_info::nzcnt, mpq_lc_info::nzcnt, mpq_ur_info::nzcnt, mpq_uc_info::nzcnt, mpq_ur_info::prev, mpq_uc_info::prev, mpq_factor_work::rperm, mpq_factor_work::rrank, mpq_factor_work::uc_inf, mpq_factor_work::ur_inf, mpq_factor_work::work_coef, mpq_factor_work::work_indx, and mpq_factor_work::xtmp.

Here is the call graph for this function:

void mpq_ILLfactor_free_factor_work ( mpq_factor_work f  ) 

Definition at line 131 of file mpq_factor.c.

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

Here is the call graph for this function:

void mpq_ILLfactor_ftran ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
)

Definition at line 3656 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::dim, mpq_svector::indx, mpq_ILLfactor_ftranl3(), mpq_svector::nzcnt, SPARSE_FACTOR, and mpq_factor_work::work_coef.

Here is the call graph for this function:

void mpq_ILLfactor_ftran_update ( mpq_factor_work f,
mpq_svector a,
mpq_svector upd,
mpq_svector x 
)

Definition at line 3777 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::dim, mpq_svector::indx, mpq_ILLfactor_ftranl3(), mpq_svector::nzcnt, SPARSE_FACTOR, and mpq_factor_work::work_coef.

Here is the call graph for this function:

static void mpq_ILLfactor_ftrane ( mpq_factor_work f,
mpq_t *  a 
) [static]

Definition at line 3250 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::er_inf, mpq_factor_work::ercoef, mpq_factor_work::erindx, mpq_factor_work::etacnt, mpq_er_info::nzcnt, and mpq_er_info::rbeg.

static void mpq_ILLfactor_ftrane2 ( mpq_factor_work f,
mpq_svector a 
) [static]

Definition at line 3302 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::er_inf, mpq_factor_work::ercoef, mpq_factor_work::erindx, mpq_factor_work::etacnt, mpq_factor_work::fzero_tol, mpq_svector::indx, mpq_er_info::nzcnt, mpq_svector::nzcnt, mpq_er_info::rbeg, mpq_factor_work::work_coef, and mpq_factor_work::work_indx.

static void mpq_ILLfactor_ftranl ( mpq_factor_work f,
mpq_t *  a 
) [static]

Definition at line 3012 of file mpq_factor.c.

References mpq_lc_info::cbeg, mpq_factor_work::dim, mpq_factor_work::lc_inf, mpq_factor_work::lccoef, and mpq_factor_work::lcindx.

static void mpq_ILLfactor_ftranl3 ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
) [static]

Definition at line 3211 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_factor_work::lc_inf, mpq_ftranl3_delay2(), mpq_ftranl3_process2(), mpq_svector::nzcnt, and mpq_factor_work::work_coef.

Referenced by mpq_ILLfactor_ftran(), and mpq_ILLfactor_ftran_update().

Here is the call graph for this function:

static void mpq_ILLfactor_ftranu ( mpq_factor_work f,
mpq_t *  a,
mpq_svector x 
) [static]

Definition at line 3407 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_svector::coef, mpq_factor_work::cperm, mpq_factor_work::dim, mpq_svector::indx, mpq_svector::nzcnt, mpq_uc_info::nzcnt, mpq_factor_work::rperm, mpq_factor_work::szero_tol, mpq_factor_work::uc_inf, mpq_factor_work::uccoef, and mpq_factor_work::ucindx.

static void mpq_ILLfactor_ftranu3 ( mpq_factor_work f,
mpq_svector a,
mpq_svector x 
) [static]

Definition at line 3616 of file mpq_factor.c.

References mpq_svector::coef, mpq_svector::indx, mpq_ftranu3_delay2(), mpq_ftranu3_process2(), mpq_svector::nzcnt, mpq_factor_work::uc_inf, and mpq_factor_work::work_coef.

Here is the call graph for this function:

void mpq_ILLfactor_init_factor_work ( mpq_factor_work f  ) 

Definition at line 84 of file mpq_factor.c.

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

Here is the call graph for this function:

int mpq_ILLfactor_set_factor_dparam ( mpq_factor_work f,
int  param,
mpq_t  val 
)

Definition at line 211 of file mpq_factor.c.

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

int mpq_ILLfactor_set_factor_iparam ( mpq_factor_work f,
int  param,
int  val 
)

Definition at line 184 of file mpq_factor.c.

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

static int mpq_ILLfactor_try ( mpq_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  cindx,
mpq_t *  ccoef 
) [static]

Definition at line 2762 of file mpq_factor.c.

References mpq_factor_work::dense_fract, mpq_factor_work::dense_min, mpq_factor_work::dim, E_FACTOR_BLOWUP, E_NO_PIVOT, E_SINGULAR_INTERNAL, mpq_factor_work::maxelem_factor, mpq_factor_work::maxelem_orig, mpq_factor_work::maxmult, mpq_factor_work::minmult, mpq_build_iteration_l_data(), mpq_build_iteration_u_data(), mpq_dense_factor(), mpq_elim(), mpq_find_pivot(), mpq_handle_singularity(), mpq_init_matrix(), mpq_factor_work::nstages, mpq_uc_info::nzcnt, mpq_factor_work::partial_cur, mpq_factor_work::partial_tol, mpq_ur_info::pivcnt, mpq_factor_work::stage, mpq_factor_work::uc_inf, and mpq_factor_work::ur_inf.

Referenced by mpq_ILLfactor().

Here is the call graph for this function:

int mpq_ILLfactor_update ( mpq_factor_work f,
mpq_svector a,
int  col_p,
int *  p_refact 
)

Definition at line 5474 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_svector::coef, mpq_factor_work::crank, mpq_factor_work::etacnt, mpq_factor_work::etamax, mpq_svector::indx, mpq_create_column(), mpq_delete_column(), mpq_ur_info::nzcnt, mpq_svector::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rrank, mpq_factor_work::uc_inf, mpq_factor_work::ucindx, mpq_factor_work::ur_inf, mpq_factor_work::urindx, and mpq_factor_work::work_coef.

Referenced by mpq_ILLbasis_update().

Here is the call graph for this function:

static int mpq_init_matrix ( mpq_factor_work f,
int *  basis,
int *  cbeg,
int *  clen,
int *  in_ucindx,
mpq_t *  in_uccoef 
) [static]

Definition at line 1879 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::fzero_tol, mpq_factor_work::max_k, mpq_create_factor_space(), mpq_ur_info::nzcnt, mpq_uc_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_freebeg, mpq_factor_work::uc_inf, mpq_factor_work::uc_space, mpq_factor_work::ucindx, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_ILLfactor_try().

Here is the call graph for this function:

static void mpq_load_row ( mpq_factor_work f,
int  r 
) [static]

Definition at line 723 of file mpq_factor.c.

References mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, mpq_factor_work::urindx, mpq_factor_work::work_coef, and mpq_factor_work::work_indx.

Referenced by mpq_elim().

static int mpq_make_lc_space ( mpq_factor_work f,
int  space 
) [static]

Definition at line 983 of file mpq_factor.c.

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

Referenced by mpq_elim().

static int mpq_make_uc_space ( mpq_factor_work f,
int  space 
) [static]

Definition at line 873 of file mpq_factor.c.

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

Referenced by mpq_add_col_nz(), and mpq_expand_col().

static int mpq_make_ur_space ( mpq_factor_work f,
int  space 
) [static]

Definition at line 762 of file mpq_factor.c.

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

Referenced by mpq_elim_row(), and mpq_expand_row().

static int mpq_move_pivot ( mpq_factor_work f,
int  rank_r 
) [static]

Definition at line 5444 of file mpq_factor.c.

References mpq_factor_work::cperm, E_UPDATE_SINGULAR_COL, mpq_move_pivot_col(), mpq_move_pivot_row(), and mpq_factor_work::rperm.

Here is the call graph for this function:

static int mpq_move_pivot_col ( mpq_factor_work f,
int  c,
int  r 
) [static]

Definition at line 5405 of file mpq_factor.c.

References __QS_SB_VERB, mpq_uc_info::cbeg, E_UPDATE_SINGULAR_COL, mpq_uc_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::uccoef, mpq_factor_work::ucindx, mpq_factor_work::ucrind, mpq_factor_work::ur_inf, and mpq_factor_work::urcind.

Referenced by mpq_move_pivot().

static int mpq_move_pivot_row ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 5365 of file mpq_factor.c.

References __QS_SB_VERB, mpq_uc_info::cbeg, E_UPDATE_SINGULAR_ROW, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::uc_inf, mpq_factor_work::ucrind, mpq_factor_work::ur_inf, mpq_factor_work::urcind, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_move_pivot().

static void mpq_remove_col ( mpq_factor_work f,
int  c 
) [static]

Definition at line 1217 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_uc_info::next, mpq_uc_info::nzcnt, mpq_uc_info::prev, mpq_factor_work::uc_inf, and mpq_factor_work::ucindx.

Referenced by mpq_elim().

static void mpq_remove_col_nz ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1084 of file mpq_factor.c.

References mpq_uc_info::cbeg, mpq_set_col_nz(), mpq_uc_info::nzcnt, mpq_factor_work::uc_inf, and mpq_factor_work::ucindx.

Referenced by mpq_elim(), and mpq_elim_row().

Here is the call graph for this function:

static void mpq_remove_row ( mpq_factor_work f,
int  r 
) [static]

Definition at line 1244 of file mpq_factor.c.

References mpq_ur_info::next, mpq_ur_info::prev, and mpq_factor_work::ur_inf.

Referenced by mpq_elim().

static void mpq_remove_row_nz ( mpq_factor_work f,
int  r,
int  c 
) [static]

Definition at line 1109 of file mpq_factor.c.

References mpq_set_row_nz(), mpq_ur_info::pivcnt, mpq_ur_info::rbeg, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, and mpq_factor_work::urindx.

Referenced by mpq_elim().

Here is the call graph for this function:

static void mpq_serow_delay ( mpq_factor_work f,
int  r,
int  rank_r 
) [static]

Definition at line 5178 of file mpq_factor.c.

References mpq_factor_work::crank, mpq_ur_info::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rperm, mpq_factor_work::ur_inf, and mpq_factor_work::urindx.

Referenced by mpq_sparse_eliminate_row().

static int mpq_serow_process ( mpq_factor_work f,
int  r,
mpq_svector newr,
int  rank_r 
) [static]

Definition at line 5212 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::crank, E_UPDATE_NOSPACE, mpq_factor_work::er_freebeg, mpq_factor_work::er_space, mpq_factor_work::ercoef, mpq_factor_work::erindx, mpq_factor_work::fzero_tol, mpq_svector::indx, mpq_factor_work::maxelem_cur, mpq_ur_info::nzcnt, mpq_svector::nzcnt, mpq_ur_info::rbeg, mpq_factor_work::rperm, mpq_factor_work::ur_inf, mpq_factor_work::urcoef, mpq_factor_work::urindx, and mpq_factor_work::work_coef.

Referenced by mpq_sparse_eliminate_row().

static void mpq_set_col_nz ( mpq_factor_work f,
int  c 
) [static]

Definition at line 1038 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::max_k, mpq_uc_info::next, mpq_uc_info::nzcnt, mpq_uc_info::prev, and mpq_factor_work::uc_inf.

Referenced by mpq_add_col_nz(), and mpq_remove_col_nz().

static void mpq_set_row_nz ( mpq_factor_work f,
int  r 
) [static]

Definition at line 1061 of file mpq_factor.c.

References mpq_factor_work::dim, mpq_factor_work::max_k, mpq_ur_info::next, mpq_ur_info::pivcnt, mpq_ur_info::prev, and mpq_factor_work::ur_inf.

Referenced by mpq_elim_row(), and mpq_remove_row_nz().

static void mpq_shift_permutations ( mpq_factor_work f,
int  rank_p,
int  rank_r 
) [static]

Definition at line 5025 of file mpq_factor.c.

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

static int mpq_sparse_eliminate_row ( mpq_factor_work f,
mpq_svector x,
int  row_p,
int  rank_r 
) [static]

Definition at line 5302 of file mpq_factor.c.

References mpq_svector::coef, mpq_factor_work::crank, mpq_factor_work::dim, ILL_IFFREE, ILL_SAFE_MALLOC, mpq_svector::indx, mpq_add_nonzero(), mpq_serow_delay(), mpq_serow_process(), mpq_svector::nzcnt, mpq_factor_work::nzcnt_cur, mpq_factor_work::ur_inf, and mpq_factor_work::work_coef.

Here is the call graph for this function:


Generated on Thu Mar 29 09:43:44 2012 for QSopt_ex by  doxygen 1.4.7