/usr/include/polybori/groebner/LiteralFactorization.h is in libbrial-groebner-dev 0.8.5-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /*
* LiteralFactorization.h
* PolyBoRi
*
* Created by Michael Brickenstein on 29.05.06.
* Copyright 2006 The PolyBoRi Team. See LICENSE file.
*
*/
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <utility>
#include "groebner_defs.h"
#ifndef PBORI_GB_LF_H
#define PBORI_GB_LF_H
BEGIN_NAMESPACE_PBORIGB
std::vector<Polynomial> easy_linear_factors(const Polynomial &p);
class LiteralFactorizationIterator; // forward declaration
class LiteralFactorization{
public:
typedef LiteralFactorizationIterator const_iterator;
LiteralFactorization(const Polynomial&);
typedef std::map<idx_type, int> map_type;
map_type factors;
Polynomial rest;
deg_type lmDeg;
bool occursAsLeadOfFactor(idx_type v) const;
bool trivial() const;
bool is11Factorization() const;
bool is00Factorization() const;
//Theorem: f BoolePolynomial with factor (x+b), b in 0, 1 (considered in the usual Polynomial Ring)
//then f/(x+b) does not involve the variable x
//typedef std::pair<idx_type,idx_type> var_pair_type;
//typedef std::set<var_pair_type> two_var_factors;
typedef std::map<idx_type, idx_type> var2var_map_type;
var2var_map_type var2var_map;
const_iterator begin();
const_iterator end();
};
deg_type common_literal_factors_deg(const LiteralFactorization& a, const LiteralFactorization& b);
Polynomial
multiply_with_literal_factors(const LiteralFactorization& lf, Polynomial p);
END_NAMESPACE_PBORIGB
#endif
|