MCPcopy Create free account
hub / github.com/Singular/Singular / toStringJustCones

Method toStringJustCones

gfanlib/gfanlib_symmetriccomplex.cpp:304–366  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

302}
303
304std::string SymmetricComplex::toStringJustCones(int dimLow, int dimHigh, bool onlyMaximal, bool group, std::ostream *multiplicities, bool compressed, bool tPlaneSort)const
305{
306 std::stringstream ret;
307
308 ZVector additionalSortKeys(cones.size());
309// if(tPlaneSort)additionalSortKeys=dimensionsAtInfinity();
310// Integer lowKey=additionalSortKeys.min();
311// Integer highKey=additionalSortKeys.max();
312
313 for(int d=dimLow;d<=dimHigh;d++)
314 {
315 int numberOfOrbitsOutput=0;
316 int numberOfOrbitsOfThisDimension=0;
317 bool newDimension=true;
318 // for(int key=lowKey;key<=highKey;key++)
319 {
320 int I=0;
321 for(ConeContainer::const_iterator i=cones.begin();i!=cones.end();i++,I++)
322 // if(additionalSortKeys[I]==key)
323 if(i->dimension==d)
324 {
325 numberOfOrbitsOfThisDimension++;
326 if(!onlyMaximal || isMaximal(*i))
327 {
328 numberOfOrbitsOutput++;
329 bool isMax=isMaximal(*i);
330 bool newOrbit=true;
331 std::set<std::set<int> > temp;
332 for(SymmetryGroup::ElementContainer::const_iterator k=sym.elements.begin();k!=sym.elements.end();k++)
333 {
334 Cone temp1=i->permuted(*k,*this,false);
335 temp.insert(temp1.indexSet());
336 if(compressed)break;
337 }
338 for(std::set<std::set<int> >::const_iterator j=temp.begin();j!=temp.end();j++)
339 {
340 ret << "{";
341 for(std::set<int>::const_iterator a=j->begin();a!=j->end();a++)
342 {
343 if(a!=j->begin())ret<<" ";
344 ret << *a;
345 }
346 ret << "}";
347 if(group)if(newOrbit)ret << "\t# New orbit";
348 if(newDimension)ret << "\t# Dimension "<<d;
349 ret <<std::endl;
350 if(isMax)if(multiplicities)
351 {
352 *multiplicities << i->multiplicity;
353 if(group)if(newOrbit)*multiplicities << "\t# New orbit";
354 if(newDimension)*multiplicities << "\t# Dimension "<<d;
355 *multiplicities << std::endl;
356 }
357 newOrbit=false;
358 newDimension=false;
359 }
360 }
361 }

Callers

nothing calls this directly

Calls 7

permutedMethod · 0.80
indexSetMethod · 0.80
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
insertMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected