1 template<
typename typMk>
2 int indice(
const typename typMk::value_type & m,
const typMk &stockmon)
5 for(
typename typMk::const_iterator iter=stockmon.begin();
6 (iter->rep!=m.rep)&&(iter!=stockmon.end());iter++,res++);
11 template<
typename Base,
typename typstock,
typename typdump>
14 typedef typename typdump::value_type::pol_t
pol;
20 current.push_back(
mon(1));
21 stockmon.push_back(
mon(1));
23 typename typdump::const_iterator iter;
24 for(iter=dump.begin();
25 iter!=dump.end();iter++);
31 for(
int i=0;
i<maxdeg;
i++)
33 list<mon> tmpcurrent=current;
35 current.erase(current.begin(),current.end());
38 for(
typename list<mon>::iterator iter=tmpcurrent.begin();
39 iter!=tmpcurrent.end();iter++)
40 current.push_back((*iter)*mon(
i,1));
43 for(
typename list<mon>::iterator iter=current.begin();iter!=current.end();iter++)
46 stockmon.push_back(*iter);
50 current.erase(iter--);
59 template<
typename typmat,
typename typdump,
typename Base,
typename typstock>
60 void matmul(typmat & m,
const int p,
const typdump &dump,
const Base &b
61 ,
const typstock &stockmon)
63 typedef typename typdump::value_type::pol_t
pol;
70 for(
typename list<mon>::iterator iter=current.begin();iter!=current.end();iter++)
77 m=typmat(current.size(),current.size());
78 for(
typename list<mon>::iterator iter=current.begin()
79 ;iter!=current.end();iter++,j++)
91 m(
indice(tmpmon,stockmon),j,tmp.
nf[
i]*(coeff)(-1));
97 m(
indice(*iter,stockmon),j,iter->GetCoeff());
105 template<
typename typmat,
typename typdump,
typename Base,
typename typstock>
107 ,
const typstock &stockmon)
109 typedef typename typdump::value_type::pol_t
pol;
116 for(
typename list<mon>::iterator iter=current.begin();iter!=current.end();iter++)
123 m=typmat(current.size(),current.size());
124 for(
typename list<mon>::iterator iter=current.begin()
125 ;iter!=current.end();iter++,j++)
137 m(j,
indice(tmpmon,stockmon),tmp.
nf[
i]*(coeff)(-1));
143 m(j,
indice(*iter,stockmon),iter->GetCoeff());
int indice(const typename typMk::value_type &m, const typMk &stockmon)
Definition: matmul.hpp:2
void computestockmon(typstock &stockmon, const Base &b, const typdump &dump)
Definition: matmul.hpp:12
void findcorresppol(const mon &m, const typdump &dump, pol &res)
Definition: corealgo.hpp:2031
int member(const typMk &tmpMk, const typename typMk::value_type mon)
Definition: corealgo.hpp:1391
T coeff_t
Definition: pol.hpp:9
int nbvar()
Definition: types.hpp:37
MSKconetypee MSKrealt MSKint32t MSKint32t j
Definition: mosek.h:2421
void int2mon(const int &i, mon &res)
Definition: placemon.hpp:288
MSKint32t k
Definition: mosek.h:2713
int IsinB(const mon &m, const Base &b)
Definition: IsinB3.hpp:68
Mon mon
Definition: solver_bb_floating.cpp:136
MSKint32t MSKint32t MSKint32t i
Definition: mosek.h:2278
int size
Definition: pol.hpp:10
#define pol
Definition: pol2ter.hpp:3
Multivariate monomials.
Definition: Monom.hpp:21
T * nf
Definition: pol.hpp:12
void trans_matmul(typmat &m, const int p, const typdump &dump, const Base &b, const typstock &stockmon)
Definition: matmul.hpp:106
void matmul(typmat &m, const int p, const typdump &dump, const Base &b, const typstock &stockmon)
Definition: matmul.hpp:60