• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

literal_factorization.h

Go to the documentation of this file.
00001 /*
00002  *  literal_factorization.h
00003  *  PolyBoRi
00004  *
00005  *  Created by Michael Brickenstein on 29.05.06.
00006  *  Copyright 2006 The PolyBoRi Team. See LICENSE file.
00007  *
00008  */
00009 
00010 #include <algorithm>
00011 #include <vector>
00012 #include <map>
00013 #include <set>
00014 #include <utility>
00015 #include "groebner_defs.h"
00016 #ifndef PBORI_GB_LF_H
00017 #define PBORI_GB_LF_H
00018 BEGIN_NAMESPACE_PBORIGB
00019 
00020 
00021 class LiteralFactorization{
00022 public:
00023   LiteralFactorization(const Polynomial&);
00024   typedef std::map<idx_type, int> map_type;
00025   map_type factors;
00026   Polynomial rest;
00027   deg_type lmDeg;
00028   bool occursAsLeadOfFactor(idx_type v) const;
00029   bool trivial() const;
00030   bool is11Factorization();
00031   bool is00Factorization();
00032   //Theorem: f BoolePolynomial with factor (x+b), b in 0, 1 (considered in the usual Polynomial Ring)
00033   //then f/(x+b) does not involve the variable x
00034   //typedef std::pair<idx_type,idx_type> var_pair_type;
00035   //typedef std::set<var_pair_type> two_var_factors;
00036   typedef std::map<idx_type, idx_type> var2var_map_type;
00037   var2var_map_type var2var_map;
00038   
00039   protected:
00040     
00041     
00042     
00043 };
00044 deg_type common_literal_factors_deg(const LiteralFactorization& a, const LiteralFactorization& b);
00045 END_NAMESPACE_PBORIGB
00046 #endif

Generated on Thu Oct 21 2010 06:56:30 for PolyBoRi by  doxygen 1.7.1