Changeset 172d852 in git for kernel/linear_algebra/interpolation.cc
- Timestamp:
- Jan 24, 2019, 2:32:29 PM (5 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 08394f319ba420091cccad7e025c3f7cac04c373
- Parents:
- 5abb79fd2458b47b21d297f2c8b26f285ac9546f756676ef1fcf4cff300fb1607a6d21293b253245
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2019-01-24 14:32:29+01:00
- git-committer:
- GitHub <noreply@github.com>2019-01-24 14:32:29+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/linear_algebra/interpolation.cc
r5abb79f r172d852 31 31 #define exponent int 32 32 33 staticmodp_number myp; // all modp computation done mod myp34 staticint myp_index; // index of small prime in Singular table of primes33 STATIC_VAR modp_number myp; // all modp computation done mod myp 34 STATIC_VAR int myp_index; // index of small prime in Singular table of primes 35 35 36 36 static inline modp_number modp_mul (modp_number x,modp_number y) … … 81 81 typedef bool *coord_exist_table; 82 82 83 staticint final_base_dim; // dimension of the quotient space, known from the beginning84 staticint last_solve_column; // last non-zero column in "solve" part of matrix, used for speed up85 staticint n_points; // modp_number of ideals (points)86 staticint *multiplicity; // multiplicities of points87 staticint variables; // modp_number of variables88 staticint max_coord; // maximal possible coordinate product used during Evaluation89 staticbool only_modp; // perform only one modp computations90 91 staticmodp_coordinates *modp_points; // coordinates of points for modp problem - used by Evaluate (this is also initial data for only modp)92 staticq_coordinates *q_points; // coordinates of points for rational data (not used for modp)93 staticint_coordinates *int_points; // coordinates of points for integer data - used to check generators (not used for modp)94 staticcoord_exist_table *coord_exist; // checks whether all coordinates has been initialized95 staticmon_list_entry *check_list; // monomials to be checked in next stages96 staticcoordinates *points; // power products of coordinates of points used in modp cycles97 staticcondition_type *condition_list; // conditions stored in an array98 staticmon_list_entry *lt_list; // leading terms found so far99 staticmon_list_entry *base_list; // standard monomials found so far100 staticrow_list_entry *row_list; // rows of the matrix (both parts)101 staticmodp_number *my_row; // one special row to perform operations102 staticmodp_number *my_solve_row; // one special row to find the linear dependence ("solve" part)103 staticmono_type *column_name; // monomials assigned to columns in solve_row104 105 staticint n_results; // modp_number of performed modp computations (not discarded)106 staticmodp_number modp_denom; // denominator of mod p computations107 staticmodp_result_entry *modp_result; // list of results for various mod p calculations (used for modp - first result is the desired one)108 staticmodp_result_entry *cur_result; // pointer to current result (as before)109 staticmodp_number *congr; // primes used in computations (chinese remainder theorem) (not used for modp)110 staticmodp_number *in_gamma; // inverts used in chinese remainder theorem (not used for modp)111 staticmpz_t bigcongr; // result, in fact, is given in mod bigcongr (not used for modp)112 113 staticmpz_t *polycoef; // polynomial integercoefficients (not used for modp)114 staticmono_type *polyexp; // polynomial exponents83 STATIC_VAR int final_base_dim; // dimension of the quotient space, known from the beginning 84 STATIC_VAR int last_solve_column; // last non-zero column in "solve" part of matrix, used for speed up 85 STATIC_VAR int n_points; // modp_number of ideals (points) 86 STATIC_VAR int *multiplicity; // multiplicities of points 87 STATIC_VAR int variables; // modp_number of variables 88 STATIC_VAR int max_coord; // maximal possible coordinate product used during Evaluation 89 STATIC_VAR bool only_modp; // perform only one modp computations 90 91 STATIC_VAR modp_coordinates *modp_points; // coordinates of points for modp problem - used by Evaluate (this is also initial data for only modp) 92 STATIC_VAR q_coordinates *q_points; // coordinates of points for rational data (not used for modp) 93 STATIC_VAR int_coordinates *int_points; // coordinates of points for integer data - used to check generators (not used for modp) 94 STATIC_VAR coord_exist_table *coord_exist; // checks whether all coordinates has been initialized 95 STATIC_VAR mon_list_entry *check_list; // monomials to be checked in next stages 96 STATIC_VAR coordinates *points; // power products of coordinates of points used in modp cycles 97 STATIC_VAR condition_type *condition_list; // conditions stored in an array 98 STATIC_VAR mon_list_entry *lt_list; // leading terms found so far 99 STATIC_VAR mon_list_entry *base_list; // standard monomials found so far 100 STATIC_VAR row_list_entry *row_list; // rows of the matrix (both parts) 101 STATIC_VAR modp_number *my_row; // one special row to perform operations 102 STATIC_VAR modp_number *my_solve_row; // one special row to find the linear dependence ("solve" part) 103 STATIC_VAR mono_type *column_name; // monomials assigned to columns in solve_row 104 105 STATIC_VAR int n_results; // modp_number of performed modp computations (not discarded) 106 STATIC_VAR modp_number modp_denom; // denominator of mod p computations 107 STATIC_VAR modp_result_entry *modp_result; // list of results for various mod p calculations (used for modp - first result is the desired one) 108 STATIC_VAR modp_result_entry *cur_result; // pointer to current result (as before) 109 STATIC_VAR modp_number *congr; // primes used in computations (chinese remainder theorem) (not used for modp) 110 STATIC_VAR modp_number *in_gamma; // inverts used in chinese remainder theorem (not used for modp) 111 STATIC_VAR mpz_t bigcongr; // result, in fact, is given in mod bigcongr (not used for modp) 112 113 STATIC_VAR mpz_t *polycoef; // polynomial integercoefficients (not used for modp) 114 STATIC_VAR mono_type *polyexp; // polynomial exponents 115 115 116 116 struct gen_list_struct {mpz_t *polycoef; … … 119 119 typedef struct gen_list_struct gen_list_entry; 120 120 121 staticgen_list_entry *gen_list=NULL; // list of resulting generators - output data (integer version)122 123 staticint generic_n_generators; // modp_number of generators - should be the same for all modp comp (not used for modp)124 staticmono_type *generic_column_name; // monomials assigned to columns in solve_row - should be the same for all modp comp (!!! used for modp)125 staticmon_list_entry *generic_lt=NULL; // leading terms for ordered generators - should be the same for all modp comp (not used for modp)126 staticint good_primes; // modp_number of good primes so far;127 staticint bad_primes; // modp_number of bad primes so far;128 staticmpz_t common_denom; // common denominator used to force points coordinates to Z (not used for modp)129 staticbool denom_divisible; // common denominator is divisible by p (not used for modp)130 131 staticpoly comparizon_p1; //polynomials used to do comparizons by Singular132 staticpoly comparizon_p2;133 134 staticmodp_number *modp_Reverse; // reverses in mod p135 136 staticbool protocol; // true to show the protocol121 STATIC_VAR gen_list_entry *gen_list=NULL; // list of resulting generators - output data (integer version) 122 123 STATIC_VAR int generic_n_generators; // modp_number of generators - should be the same for all modp comp (not used for modp) 124 STATIC_VAR mono_type *generic_column_name; // monomials assigned to columns in solve_row - should be the same for all modp comp (!!! used for modp) 125 STATIC_VAR mon_list_entry *generic_lt=NULL; // leading terms for ordered generators - should be the same for all modp comp (not used for modp) 126 STATIC_VAR int good_primes; // modp_number of good primes so far; 127 STATIC_VAR int bad_primes; // modp_number of bad primes so far; 128 STATIC_VAR mpz_t common_denom; // common denominator used to force points coordinates to Z (not used for modp) 129 STATIC_VAR bool denom_divisible; // common denominator is divisible by p (not used for modp) 130 131 STATIC_VAR poly comparizon_p1; //polynomials used to do comparizons by Singular 132 STATIC_VAR poly comparizon_p2; 133 134 STATIC_VAR modp_number *modp_Reverse; // reverses in mod p 135 136 STATIC_VAR bool protocol; // true to show the protocol 137 137 138 138 #ifdef checksize 139 staticint maximal_size=0;139 STATIC_VAR int maximal_size=0; 140 140 #endif 141 141
Note: See TracChangeset
for help on using the changeset viewer.