Linear


Data Structures

struct  vec_vector

Defines

#define LINSOLMTX_DEBUG   FALSE
#define LINQR_DROP_TOLERANCE   1.0e-16
#define mtx_check_matrix(mtx)   check_matrix((mtx),__FILE__,__LINE__)
#define mtx_check_sparse(sp)   check_sparse((sp),__FILE__,__LINE__)
#define mtx_zero_char(ar, len)   if ((ar)!=NULL) memset((ar),0,(len))
#define mtx_copy(m)   mtx_copy_options((m),FALSE,TRUE,mtx_ENTIRE_MATRIX,0.0)
#define mtx_copy_region(m, r)   mtx_copy_options((m),FALSE,TRUE,(r),0.0)
#define mtx_copy_region_drop(m, r, d)   mtx_copy_options((m),FALSE,TRUE,(r),(d))
#define mtx_copy_wo_incidence(m)   mtx_copy_options((m),FALSE,FALSE,NULL,0.0)
#define mtx_copy_complete(m)   mtx_copy_options((m),TRUE,TRUE, mtx_ENTIRE_MATRIX,0.0)
#define mtx_add_value(a, b, c)   mtx_fill_value((a),(b),(c))
#define mtx_write_region_human(f, m, r)   mtx_write_region_human_f((f),(m),(r),0,0)
#define mtx_write_region_human_rows(f, m, r)   mtx_write_region_human_f((f),(m),(r),0,0)
#define mtx_write_region_human_cols(f, m, r)   mtx_write_region_human_f((f),(m),(r),1,0)
#define mtx_write_region_human_orgrows(f, m, r)   mtx_write_region_human_f((f),(m),(r),0,1)
#define mtx_write_region_human_orgcols(f, m, r)   mtx_write_region_human_f((f),(m),(r),1,1)

Typedefs

typedef linsolqr_header * linsolqr_system_t

Enumerations

enum  factor_class { unknown_c, ranki = 100, s_qr = 200 }
enum  reorder_method { unknown_r, natural = 1000, spk1 = 2000, tspk1 = 3000 }
enum  factor_method {
  unknown_f = 0, ranki_kw = 1, ranki_jz = 2, ranki_kw2 = 3,
  ranki_jz2 = 4, ranki_ka = 12, plain_qr = 5, cond_qr = 6,
  ranki_ba2 = 7, opt_qr = 8, ls_qr = 9, gauss_ba2 = 10,
  symmetric_lu = 11
}
enum  mtx_reorder_method { mtx_UNKNOWN, mtx_SPK1, mtx_TSPK1, mtx_NATURAL }

Functions

char * linsolqr_rmethods (void)
ASC_DLLSPEC char * linsolqr_fmethods (void)
enum reorder_method linsolqr_rmethod_to_enum (char *s)
enum factor_method linsolqr_fmethod_to_enum (char *s)
ASC_DLLSPEC enum factor_class linsolqr_fmethod_to_fclass (enum factor_method fm)
ASC_DLLSPEC char * linsolqr_enum_to_rmethod (enum reorder_method m)
char * linsolqr_enum_to_fmethod (enum factor_method m)
ASC_DLLSPEC const char * linsolqr_rmethod_description (const enum reorder_method meth)
ASC_DLLSPEC const char * linsolqr_fmethod_description (const enum factor_method meth)
ASC_DLLSPEC linsolqr_system_t linsolqr_create (void)
ASC_DLLSPEC linsolqr_system_t linsolqr_create_default (void)
ASC_DLLSPEC void linsolqr_destroy (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_set_matrix (linsolqr_system_t sys, mtx_matrix_t mtx)
ASC_DLLSPEC void linsolqr_set_region (linsolqr_system_t sys, mtx_region_t region)
ASC_DLLSPEC mtx_matrix_t linsolqr_get_matrix (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_add_rhs (linsolqr_system_t sys, real64 *rhs, boolean transpose)
ASC_DLLSPEC void linsolqr_remove_rhs (linsolqr_system_t sys, real64 *rhs)
ASC_DLLSPEC int32 linsolqr_number_of_rhs (linsolqr_system_t sys)
ASC_DLLSPEC real64linsolqr_get_rhs (linsolqr_system_t sys, int n)
ASC_DLLSPEC void linsolqr_matrix_was_changed (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_rhs_was_changed (linsolqr_system_t sys, real64 *rhs)
ASC_DLLSPEC void linsolqr_set_pivot_zero (linsolqr_system_t sys, real64 pivot_zero)
real64 linsolqr_pivot_zero (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_set_pivot_tolerance (linsolqr_system_t sys, real64 ptol)
real64 linsolqr_pivot_tolerance (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_set_condition_tolerance (linsolqr_system_t sys, real64 ctol)
real64 linsolqr_condition_tolerance (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_set_drop_tolerance (linsolqr_system_t sys, real64 dtol)
real64 linsolqr_drop_tolerance (linsolqr_system_t sys)
enum factor_class linsolqr_fclass (linsolqr_system_t sys)
ASC_DLLSPEC enum factor_method linsolqr_fmethod (linsolqr_system_t sys)
ASC_DLLSPEC enum reorder_method linsolqr_rmethod (linsolqr_system_t sys)
ASC_DLLSPEC int32 linsolqr_rank (linsolqr_system_t sys)
ASC_DLLSPEC real64 linsolqr_smallest_pivot (linsolqr_system_t sys)
ASC_DLLSPEC int linsolqr_prep (linsolqr_system_t sys, enum factor_class fclass)
ASC_DLLSPEC int linsolqr_reorder (linsolqr_system_t sys, mtx_region_t *region, enum reorder_method rmeth)
ASC_DLLSPEC int linsolqr_factor (linsolqr_system_t sys, enum factor_method fmethod)
ASC_DLLSPEC int linsolqr_get_pivot_sets (linsolqr_system_t sys, unsigned *org_rowpivots, unsigned *org_colpivots)
ASC_DLLSPEC mtx_sparse_tlinsolqr_unpivoted_rows (linsolqr_system_t sys)
ASC_DLLSPEC mtx_sparse_tlinsolqr_unpivoted_cols (linsolqr_system_t sys)
mtx_sparse_tlinsolqr_pivoted_rows (linsolqr_system_t sys)
mtx_sparse_tlinsolqr_pivoted_cols (linsolqr_system_t sys)
int32 linsolqr_org_row_to_org_col (linsolqr_system_t sys, int32 org_row)
int32 linsolqr_org_col_to_org_row (linsolqr_system_t sys, int32 org_col)
ASC_DLLSPEC void linsolqr_calc_row_dependencies (linsolqr_system_t sys)
ASC_DLLSPEC void linsolqr_calc_col_dependencies (linsolqr_system_t sys)
ASC_DLLSPEC mtx_sparse_tlinsolqr_row_dependence_coefs (linsolqr_system_t sys, int32 orgrow)
ASC_DLLSPEC mtx_sparse_tlinsolqr_col_dependence_coefs (linsolqr_system_t sys, int32 orgcol)
real64 linsolqr_org_row_dependency (linsolqr_system_t sys, int32 dep, int32 ind)
ASC_DLLSPEC real64 linsolqr_org_col_dependency (linsolqr_system_t sys, int32 dep, int32 ind)
ASC_DLLSPEC int linsolqr_solve (linsolqr_system_t sys, real64 *rhs)
ASC_DLLSPEC real64 linsolqr_var_value (linsolqr_system_t sys, real64 *rhs, int32 var)
ASC_DLLSPEC boolean linsolqr_copy_solution (linsolqr_system_t sys, real64 *rhs, real64 *vector)
real64 linsolqr_eqn_residual (linsolqr_system_t sys, real64 *rhs, int32 eqn)
boolean linsolqr_calc_residual (linsolqr_system_t sys, real64 *rhs, real64 *vector)
size_t linsolqr_size (linsolqr_system_t sys)
void linsolqr_free_reused_mem (void)
ASC_DLLSPEC mtx_matrix_t linsolqr_get_factors (linsolqr_system_t sys)
mtx_matrix_t linsolqr_get_inverse (linsolqr_system_t sys)
mtx_region_tlinsolqr_get_region (linsolqr_system_t sys)
int linsolqr_setup_ngslv (linsolqr_system_t sys, real64 *rhs, mtx_range_t *un_p_rng, real64 *tmpvec)
real64linsolqr_get_varvalue (linsolqr_system_t sys, int n)
ASC_DLLSPEC double linutils_A_1_norm (mtx_matrix_t mtx, mtx_region_t *reg)
ASC_DLLSPEC double linutils_A_infinity_norm (mtx_matrix_t mtx, mtx_region_t *reg)
ASC_DLLSPEC double linutils_A_Frobenius_norm (mtx_matrix_t mtx, mtx_region_t *reg)
ASC_DLLSPEC double linutils_A_condqr_kaa (linsolqr_system_t lin_sys, mtx_matrix_t mtx, mtx_region_t *reg)
boolean check_matrix (mtx_matrix_t mtx, char *file, int line)
boolean check_sparse (const mtx_sparse_t *const sp, char *file, int line)
ASC_DLLSPEC mtx_coord_tmtx_coord (mtx_coord_t *coordp, int32 row, int32 col)
mtx_range_tmtx_range (mtx_range_t *rangep, int32 low, int32 high)
ASC_DLLSPEC mtx_region_tmtx_region (mtx_region_t *regionp, int32 rowlow, int32 rowhigh, int32 collow, int32 colhigh)
ASC_DLLSPEC void mtx_zero_int32 (int32 *data, int len)
ASC_DLLSPEC void mtx_zero_real64 (real64 *data, int len)
void mtx_zero_ptr (void **data, int len)
ASC_DLLSPEC mtx_matrix_t mtx_create (void)
mtx_matrix_t mtx_create_slave (mtx_matrix_t master)
void mtx_debug_redirect_freeze (void)
ASC_DLLSPEC void mtx_destroy (mtx_matrix_t matrix)
mtx_sparse_tmtx_create_sparse (int32 capacity)
ASC_DLLSPEC void mtx_destroy_sparse (mtx_sparse_t *sp)
void mtx_destroy_blocklist (mtx_block_t *bl)
mtx_matrix_t mtx_duplicate_region (mtx_matrix_t matrix, mtx_region_t *region, real64 drop)
mtx_matrix_t mtx_copy_options (mtx_matrix_t matrix, boolean blocks, boolean incidence, mtx_region_t *region, real64 drop)
ASC_DLLSPEC int32 mtx_order (mtx_matrix_t matrix)
ASC_DLLSPEC int32 mtx_capacity (mtx_matrix_t matrix)
ASC_DLLSPEC void mtx_set_order (mtx_matrix_t matrix, int32 order)
void mtx_clear_coord (mtx_matrix_t matrix, int32 row, int32 col)
void mtx_clear_row (mtx_matrix_t matrix, int32 row, mtx_range_t *rng)
void mtx_clear_col (mtx_matrix_t matrix, int32 col, mtx_range_t *rng)
void mtx_clear_rowlist (mtx_matrix_t matrix, mtx_sparse_t *sp, mtx_range_t *rng)
void mtx_clear_collist (mtx_matrix_t matrix, mtx_sparse_t *sp, mtx_range_t *rng)
ASC_DLLSPEC void mtx_clear_region (mtx_matrix_t matrix, mtx_region_t *region)
void mtx_reset_perm (mtx_matrix_t matrix)
ASC_DLLSPEC void mtx_clear (mtx_matrix_t matrix)
ASC_DLLSPEC real64 mtx_value (mtx_matrix_t matrix, mtx_coord_t *coord)
ASC_DLLSPEC void mtx_set_value (mtx_matrix_t matrix, mtx_coord_t *coord, real64 value)
ASC_DLLSPEC void mtx_fill_value (mtx_matrix_t matrix, mtx_coord_t *coord, real64 value)
ASC_DLLSPEC void mtx_fill_org_value (mtx_matrix_t matrix, const mtx_coord_t *coord, real64 value)
ASC_DLLSPEC int32 mtx_assemble (mtx_matrix_t matrix)
void mtx_del_zr_in_row (mtx_matrix_t matrix, int32 row)
void mtx_del_zr_in_col (mtx_matrix_t matrix, int32 col)
void mtx_del_zr_in_rowrange (mtx_matrix_t matrix, mtx_range_t *rng)
void mtx_del_zr_in_colrange (mtx_matrix_t matrix, mtx_range_t *rng)
void mtx_steal_org_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_steal_org_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
void mtx_steal_cur_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_steal_cur_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
boolean mtx_steal_org_row_sparse (mtx_matrix_t mtx, int32 row, mtx_sparse_t *sparse, mtx_range_t *colrng)
boolean mtx_steal_org_col_sparse (mtx_matrix_t mtx, int32 col, mtx_sparse_t *sparse, mtx_range_t *rowrng)
boolean mtx_steal_cur_row_sparse (mtx_matrix_t mtx, int32 row, mtx_sparse_t *sparse, mtx_range_t *colrng)
boolean mtx_steal_cur_col_sparse (mtx_matrix_t mtx, int32 col, mtx_sparse_t *sparse, mtx_range_t *rowrng)
void mtx_fill_org_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_fill_org_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
void mtx_fill_cur_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_fill_cur_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
void mtx_dropfill_cur_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng, real64 tolerance)
void mtx_dropfill_cur_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng, real64 tolerance)
void mtx_fill_org_row_sparse (mtx_matrix_t mtx, int32 row, const mtx_sparse_t *sparse)
void mtx_fill_org_col_sparse (mtx_matrix_t mtx, int32 col, const mtx_sparse_t *sparse)
void mtx_fill_cur_row_sparse (mtx_matrix_t mtx, int32 row, const mtx_sparse_t *sparse)
void mtx_fill_cur_col_sparse (mtx_matrix_t mtx, int32 col, const mtx_sparse_t *sparse)
ASC_DLLSPEC void mtx_mult_row (mtx_matrix_t mtx, int32 row, real64 factor, mtx_range_t *colrng)
ASC_DLLSPEC void mtx_mult_col (mtx_matrix_t mtx, int32 col, real64 factor, mtx_range_t *rowrng)
void mtx_mult_row_zero (mtx_matrix_t mtx, int32 row, mtx_range_t *colrng)
void mtx_mult_col_zero (mtx_matrix_t mtx, int32 col, mtx_range_t *rowrng)
void mtx_add_row (mtx_matrix_t mtx, int32 srow, int32 trow, real64 factor, mtx_range_t *colrng)
void mtx_add_col (mtx_matrix_t mtx, int32 scol, int32 tcol, real64 factor, mtx_range_t *rowrng)
void mtx_add_row_series (int32 srow, real64 factor, mtx_range_t *colrng)
void mtx_add_col_series (int32 scol, real64 factor, mtx_range_t *rowrng)
void mtx_add_row_series_init (mtx_matrix_t mtx, int32 trow, boolean userow)
void mtx_add_col_series_init (mtx_matrix_t mtx, int32 tcol, boolean usecol)
void mtx_old_add_row_sparse (mtx_matrix_t mtx, int32 row, real64 *drow, real64 factor, mtx_range_t *colrng, int32 *collist)
void mtx_old_add_col_sparse (mtx_matrix_t mtx, int32 col, real64 *dcol, real64 factor, mtx_range_t *rowrng, int32 *rowlist)
void mtx_add_row_sparse (mtx_matrix_t mtx, int32 row, real64 factor, mtx_sparse_t *sparse)
void mtx_add_col_sparse (mtx_matrix_t mtx, int32 col, real64 factor, mtx_sparse_t *sparse)
size_t mtx_size (mtx_matrix_t mtx)
size_t mtx_chattel_size (mtx_matrix_t mtx)
void mtx_free_reused_mem (void)
void mtx_write_sparse (FILE *file, mtx_sparse_t *sparse)
void mtx_write_region_human_f (FILE *file, mtx_matrix_t mtx, mtx_region_t *region, int colwise, int orgwise)
ASC_DLLSPEC void mtx_write_region (FILE *file, mtx_matrix_t mtx, mtx_region_t *region)
mtx_matrix_t mtx_read_region (FILE *file, mtx_matrix_t mtx, int transposed)
ASC_DLLSPEC void mtx_write_region_matlab (FILE *file, mtx_matrix_t mtx, mtx_region_t *region)
ASC_DLLSPEC int mtx_write_region_mmio (FILE *file, mtx_matrix_t mtx, mtx_region_t *region)
ASC_DLLSPEC void mtx_write_region_plot (FILE *file, mtx_matrix_t mtx, mtx_region_t *region)
ASC_DLLSPEC void mtx_write_region_csr (FILE *file, mtx_matrix_t mtx, mtx_region_t *region, int offset)
ASC_DLLSPEC void mtx_write_region_smms (FILE *file, mtx_matrix_t mtx, mtx_region_t *region, int offset)
mtx_matrix_t mtx_read_smms (FILE *file, mtx_matrix_t mtx, int transpose)
void mtx_exception_recover (void)
ASC_DLLSPEC void mtx__debug_output (FILE *file, mtx_matrix_t mtx)
void mtx_householder_transform_region (mtx_matrix_t mtx, const real64 coef, const mtx_sparse_t *orgsp, const mtx_region_t *reg, real64 droptol, boolean transpose)
mtx_block_perm_t mtx_create_block_perm (mtx_matrix_t mtx)
int mtx_update_block_perm (mtx_matrix_t mtx, int32 bnum, mtx_block_perm_t bperm)
int mtx_restore_block_perm (mtx_matrix_t mtx, int32 bnum, mtx_block_perm_t bperm)
int mtx_destroy_block_perm (mtx_block_perm_t bperm)
size_t mtx_block_perm_size (mtx_block_perm_t bperm)
void mtx_swap_rows (mtx_matrix_t mtx, int32 row1, int32 row2)
ASC_DLLSPEC void mtx_swap_cols (mtx_matrix_t mtx, int32 col1, int32 col2)
void mtx_drag (mtx_matrix_t mtx, int32 d1, int32 d2)
void mtx_reverse_diagonal (mtx_matrix_t mtx, int32 d1, int32 d2)
ASC_DLLSPEC int32 mtx_row_to_org (mtx_matrix_t mtx, int32 row)
ASC_DLLSPEC int32 mtx_col_to_org (mtx_matrix_t mtx, int32 col)
ASC_DLLSPEC int32 mtx_org_to_row (mtx_matrix_t mtx, int32 orgrow)
ASC_DLLSPEC int32 mtx_org_to_col (mtx_matrix_t mtx, int32 orgcol)
boolean mtx_row_parity (mtx_matrix_t mtx)
boolean mtx_col_parity (mtx_matrix_t mtx)
int mtx_output_assign_region (mtx_matrix_t mtx, mtx_region_t *region, int *orphaned_rows)
ASC_DLLSPEC void mtx_output_assign (mtx_matrix_t mtx, int32 hirow, int32 hicol)
ASC_DLLSPEC boolean mtx_output_assigned (mtx_matrix_t mtx)
ASC_DLLSPEC int32 mtx_symbolic_rank (mtx_matrix_t mtx)
void mtx_set_symbolic_rank (mtx_matrix_t mtx, int32 rank)
boolean mtx_make_col_independent (mtx_matrix_t mtx, int32 col, mtx_range_t *rng)
void mtx_org_permute (mtx_matrix_t mtx, mtx_region_t *region)
int32 mtx_full_diagonal (mtx_matrix_t mtx, mtx_range_t *rng, int noisy)
int32 mtx_transpose (mtx_matrix_t mtx)
int32 mtx_isa_transpose (mtx_matrix_t mtx)
mtx_block_tmtx_block_partition (mtx_matrix_t mtx, mtx_region_t *reg)
ASC_DLLSPEC void mtx_partition (mtx_matrix_t mtx)
void mtx_ut_partition (mtx_matrix_t mtx)
boolean mtx_check_blocks (mtx_matrix_t mtx)
ASC_DLLSPEC int32 mtx_number_of_blocks (mtx_matrix_t mtx)
ASC_DLLSPEC int32 mtx_block (mtx_matrix_t mtx, int32 block_number, mtx_region_t *block)
ASC_DLLSPEC int32 mtx_block_containing_row (mtx_matrix_t mtx, int32 row, mtx_region_t *block)
int32 mtx_block_containing_col (mtx_matrix_t mtx, int32 col, mtx_region_t *block)
ASC_DLLSPEC real64 mtx_next_in_row (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *colrng)
real64 mtx_next_in_col (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *rowrng)
ASC_DLLSPEC real64 mtx_row_max (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *colrng, real64 *signval)
ASC_DLLSPEC real64 mtx_col_max (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *rowrng, real64 *signval)
ASC_DLLSPEC real64 mtx_row_min (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *colrng, real64 *signval, real64 minval)
ASC_DLLSPEC real64 mtx_col_min (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *rowrng, real64 *signval, real64 minval)
real64 mtx_get_pivot_col (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *colrng, real64 *signval, real64 tol, real64 eps)
real64 mtx_get_pivot_row (mtx_matrix_t matrix, mtx_coord_t *coord, mtx_range_t *rowrng, real64 *signval, real64 tol, real64 eps)
int32 mtx_nonzeros_in_row (mtx_matrix_t matrix, int32 row, mtx_range_t *colrng)
int32 mtx_nonzeros_in_col (mtx_matrix_t matrix, int32 col, mtx_range_t *rowrng)
int32 mtx_nonzeros_in_region (mtx_matrix_t matrix, mtx_region_t *reg)
int32 mtx_numbers_in_row (mtx_matrix_t matrix, int32 row, mtx_range_t *colrng)
int32 mtx_numbers_in_col (mtx_matrix_t matrix, int32 col, mtx_range_t *rowrng)
int32 mtx_numbers_in_region (mtx_matrix_t matrix, mtx_region_t *reg)
void mtx_org_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
ASC_DLLSPEC void mtx_org_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
void mtx_cur_row_vec (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_cur_col_vec (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
mtx_sparse_tmtx_org_row_sparse (mtx_matrix_t mtx, int32 row, mtx_sparse_t *const sparse, mtx_range_t *colrng, int zeroes)
mtx_sparse_tmtx_org_col_sparse (mtx_matrix_t mtx, int32 col, mtx_sparse_t *const sparse, mtx_range_t *rowrng, int zeroes)
mtx_sparse_tmtx_cur_row_sparse (mtx_matrix_t mtx, int32 row, mtx_sparse_t *const sparse, mtx_range_t *colrng, int zeroes)
mtx_sparse_tmtx_cur_col_sparse (mtx_matrix_t mtx, int32 col, mtx_sparse_t *const sparse, mtx_range_t *rowrng, int zeroes)
void mtx_zr_org_vec_using_row (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
ASC_DLLSPEC void mtx_zr_org_vec_using_col (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
void mtx_zr_cur_vec_using_row (mtx_matrix_t mtx, int32 row, real64 *vec, mtx_range_t *colrng)
void mtx_zr_cur_vec_using_col (mtx_matrix_t mtx, int32 col, real64 *vec, mtx_range_t *rowrng)
ASC_DLLSPEC real64 mtx_sum_sqrs_in_row (mtx_matrix_t mtx, int32 row, const mtx_range_t *colrng)
ASC_DLLSPEC real64 mtx_sum_sqrs_in_col (mtx_matrix_t mtx, int32 col, const mtx_range_t *rowrng)
real64 mtx_sum_abs_in_row (mtx_matrix_t mtx, int32 row, const mtx_range_t *colrng)
real64 mtx_sum_abs_in_col (mtx_matrix_t mtx, int32 col, const mtx_range_t *rowrng)
real64 mtx_col_dot_full_org_vec (mtx_matrix_t mtx, int32 col, real64 *orgvec, mtx_range_t *rowrng, boolean transpose)
real64 mtx_row_dot_full_org_vec (mtx_matrix_t mtx, int32 row, real64 *orgvec, mtx_range_t *colrng, boolean transpose)
real64 mtx_col_dot_full_cur_vec (mtx_matrix_t mtx, int32 col, real64 *curcolvec, mtx_range_t *rowrng, boolean transpose)
real64 mtx_row_dot_full_cur_vec (mtx_matrix_t mtx, int32 row, real64 *currowvec, mtx_range_t *colrng, boolean transpose)
real64 mtx_col_dot_full_org_custom_vec (mtx_matrix_t matrix1, mtx_matrix_t matrix2, int32 row, real64 *orgvec, mtx_range_t *colrng, boolean transpose)
real64 mtx_row_dot_full_org_custom_vec (mtx_matrix_t matrix1, mtx_matrix_t matrix2, int32 col, real64 *orgvec, mtx_range_t *rowrng, boolean transpose)
void mtx_org_vec_add_col (mtx_matrix_t mtx, real64 *tvec, int32 scol, real64 factor, mtx_range_t *rowrng, boolean transpose)
void mtx_org_vec_add_row (mtx_matrix_t mtx, real64 *tvec, int32 srow, real64 factor, mtx_range_t *colrng, boolean transpose)
void mtx_cur_vec_add_col (mtx_matrix_t mtx, real64 *tvec, int32 scol, real64 factor, mtx_range_t *rowrng, boolean transpose)
void mtx_cur_vec_add_row (mtx_matrix_t mtx, real64 *tvec, int32 srow, real64 factor, mtx_range_t *colrng, boolean transpose)
ASC_DLLSPEC int mtx_reorder (mtx_matrix_t mtx, mtx_region_t *region, enum mtx_reorder_method rmeth)
ASC_DLLSPEC struct vec_vector * vec_create (int32 low, int32 high)
ASC_DLLSPEC int vec_init (struct vec_vector *vec, int32 low, int32 high)
ASC_DLLSPEC void vec_destroy (struct vec_vector *vec)
ASC_DLLSPEC void vec_zero (struct vec_vector *vec)
ASC_DLLSPEC void vec_copy (struct vec_vector *srcvec, struct vec_vector *destvec)
ASC_DLLSPEC real64 vec_inner_product (struct vec_vector *vec1, struct vec_vector *vec2)
ASC_DLLSPEC real64 vec_square_norm (struct vec_vector *vec)
ASC_DLLSPEC void vec_matrix_product (mtx_matrix_t mtx, struct vec_vector *vec, struct vec_vector *prod, real64 scale, boolean transpose)
ASC_DLLSPEC void vec_write (FILE *fp, struct vec_vector *vec)
ASC_DLLSPEC real64 vec_dot (int32 len, const real64 *a1, const real64 *a2)

Variables

ASC_DLLSPEC int g_linsolqr_timing


Define Documentation

#define LINQR_DROP_TOLERANCE   1.0e-16

This is the default for drop tolerances in methods which use a drop tol

#define LINSOLMTX_DEBUG   FALSE

Debug mode.

#define mtx_add_value ( a,
b,
 )     mtx_fill_value((a),(b),(c))

grandfathering old linsol.

Todo:
Remove when linsolqr replaces linsol.

#define mtx_check_matrix ( mtx   )     check_matrix((mtx),__FILE__,__LINE__)

Checks the integrity flag of the matrix. Returns 1 if mtx is ok (non-NULL, integrity flag ok). Otherwise returns 0. If mtx is not ok, a message is printed to g_mtxerr. If mtx is a slave, the integrity on the master mtx is also checked.

Parameters:
mtx mtx_matrix_t, the matrix to check.
Returns:
1 if given matrix is valid, 0 otherwise.

#define mtx_check_sparse ( sp   )     check_sparse((sp),__FILE__,__LINE__)

Checks the consistency of a sparse matrix as best it can. Returns 1 if sp is ok, FALSE if something wierd is found. If sp is not ok, a message is printed to g_mtxerr.

Parameters:
sp const mtx_sparse_t * const, the sparse matrix to check.
Returns:
1 if given matrix is valid, 0 otherwise.

#define mtx_copy (  )