Changeset 867f21 in git


Ignore:
Timestamp:
Jan 31, 2018, 9:50:33 PM (6 years ago)
Author:
Andreas Steenpass <steenpass@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
40c74377d47175ef0556381c3b9eb60f05676280
Parents:
c85a29d68f3b14b5466567b25ce4f175fd4d3512
git-author:
Andreas Steenpass <steenpass@mathematik.uni-kl.de>2018-01-31 21:50:33+01:00
git-committer:
Andreas Steenpass <steenpass@mathematik.uni-kl.de>2018-02-02 11:16:48+01:00
Message:
chg: add #define for tensor trick
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/syz4.cc

    rc85a29 r867f21  
    2222 */
    2323#define CACHE 1
     24
     25/*
     26 * If set to true, the current module is modfied after each lifting step in the
     27 * resolution: any term which contains a variable which does not appear among
     28 * the (induced) leading terms is deleted. Note that the resulting object is
     29 * not necessarily a complex anymore. However, constant entries remain exactly
     30 * the same.
     31 */
     32#define FRES_TENSOR_TRICK 1
    2433
    2534/*
     
    548557}
    549558
     559#if FRES_TENSOR_TRICK
     560/*
     561 * check if the monomial m contains any of the variables set to false
     562 */
    550563static inline bool contains_unused_variable(const poly m,
    551564    const std::vector<bool> &variables)
     
    560573}
    561574
    562 static void delete_variables(resolvente &res, const int index,
    563     std::vector<bool> variables)
     575/*
     576 * delete any term in res[index] which contains any of the variables set to
     577 * false
     578 */
     579static void delete_variables(resolvente res, const int index,
     580    const std::vector<bool> &variables)
    564581{
    565582    for (int i = 0; i < res[index]->ncols; i++) {
     
    576593    }
    577594}
     595#endif   // FRES_TENSOR_TRICK
    578596
    579597static void delete_tails(resolvente res, const int index)
     
    603621        if (do_lifting) {
    604622            update_variables(variables, res[0]);
     623#if FRES_TENSOR_TRICK
    605624            delete_variables(res, 0, variables);
     625#endif   // FRES_TENSOR_TRICK
    606626        }
    607627        while (!idIs0(res[index])) {
     
    616636                    variables[currRing->N] = false;
    617637                }
     638#if FRES_TENSOR_TRICK
    618639                delete_variables(res, index, variables);
     640#endif   // FRES_TENSOR_TRICK
    619641            }
    620642            if (index >= max_index) { break; }
Note: See TracChangeset for help on using the changeset viewer.