Changeset 798f721 in git
- Timestamp:
- Mar 31, 2009, 11:59:14 AM (14 years ago)
- Branches:
- (u'spielwiese', 'f6c3dc58b0df4bd712574325fe76d0626174ad97')
- Children:
- 2b7bb5d62530e14bffcd668b38aba478016be940
- Parents:
- 19567be673a59b344557c01d516e211ba26b36c3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/gfan.cc
r19567b r798f721 2 2 Compute the Groebner fan of an ideal 3 3 $Author: monerjan $ 4 $Date: 2009-03-3 0 14:07:21$5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.2 4 2009-03-30 14:07:21monerjan Exp $6 $Id: gfan.cc,v 1.2 4 2009-03-30 14:07:21monerjan Exp $4 $Date: 2009-03-31 09:59:14 $ 5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.25 2009-03-31 09:59:14 monerjan Exp $ 6 $Id: gfan.cc,v 1.25 2009-03-31 09:59:14 monerjan Exp $ 7 7 */ 8 8 … … 17 17 #include "kmatrix.h" 18 18 #include "fast_maps.h" //Mapping of ideals 19 #include "maps.h" 19 20 #include "iostream.h" //deprecated 20 21 … … 76 77 fNormal->show(); 77 78 } 79 80 /** \brief The Groebner basis on the other side of a shared facet 81 * 82 * In order not to have to compute the flipped GB twice we store the basis we already get 83 * when identifying search facets. Thus in the next step of the reverse search we can 84 * just copy the old cone and update the facet and the gcBasis 85 */ 86 ideal flibGB; //The Groebner Basis on the other side, computed via gcone::flip 78 87 79 88 bool isFlippable; //flippable facet? Want to have cone->isflippable.facet[i] … … 278 287 }//method getConeNormals(ideal I) 279 288 280 void flip(); //Compute "the other side" 289 /** \brief Compute the Groebner Basis on the other side of a shared facet 290 * 291 * Implements algorithm 4.3.2 from Anders' thesis. 292 * As shown there it is not necessary to compute an interior point. The knowledge of the facet normal 293 * suffices. A term \f$ x^\gamma \f$ of \f$ g \f$ is in \f$ in_\omega(g) \f$ iff \f$ \gamma - leadexp(g)\f$ 294 * is parallel to \f$ leadexp(g) \f$ 295 * Checking for parallelity is done by computing the rank of the matrix consisting of the vectors in question. 296 * Another possibility would be to compute an interior point of the facet and taking all terms having the same 297 * weight with respect to this interior point. 298 *\param ideal, facet 299 */ 300 void flip(ideal I, facet *f) //Compute "the other side" 301 { 302 /*1st step: Compute the initial ideal*/ 303 map mapping; 304 idhdl h; 305 ideal image; 306 mapping=IDMAP(h); 307 image=idInit(1,1); 308 image=maGetPreimage(currRing,mapping,image); 309 } 281 310 282 311 /** \brief Compute a Groebner Basis … … 354 383 gcAct->getGB(inputIdeal); 355 384 gcAct->getConeNormals(gcAct->gcBasis); //hopefully compute the normals 385 356 386 /*Now it is time to compute the search facets, respectively start the reverse search. 357 But since we are in the root all facets should be search facets. 387 But since we are in the root all facets should be search facets. IS THIS TRUE? 358 388 MIND: AS OF NOW, THE LIST OF FACETS IS NOT PURGED OF NON-FLIPPAPLE FACETS 359 389 */
Note: See TracChangeset
for help on using the changeset viewer.