nCenterFocus Namespace Reference

composes an output file name from prefix and used Program params
Format: $prefix.fieldchar_$characteristic.codim_$codim.eps_$usedEpsPrecision.seed_$usedSeed.m2 More...

Classes

class  CenterFocusExperiment
class  CenterFocusOptions
 centerfocus options class draft More...
class  CFRandomExperiment
class  CoeffListEntry
 Able to bear a given monom (x^x_exp*y^y_exp) in P or Q polynom of the centerfocus problem in mind. More...
class  CoeffList
 keeps some monoms (x^x_exp*y^y_exp) in P, Q polynoms of the centerfocus problem in mind. More...
class  fast_Frommer
 besserer test wäre frommer je mit doitOld und doitNew aufzurufen und dann die Matrizen A und B zu vergleichen. More...
class  Frommer
 Implemets the Frommer algorithm. More...
class  FailedLiftStatistic
class  EmptyFailedLiftStatistic
class  ExtendedFailedLiftStatistic
class  FocalValuesInfo
class  CPointLiftInfo
class  CFQuadricsResult
class  CFJacobianInfo
class  CFSingleResult
class  PrintCenterFocusResults
class  BaseQuadricsStatistic
 hold statistics of a single centerfocus experiment : distribution of jacobian rank for different numbers of vanished focal values and different ranks of corresponding quadrics list More...
class  QuadricsStatistic
 hold statistics of a single centerfocus experiment : distribution of jacobian rank for different numbers of vanished focal values and different ranks of corresponding quadrics list separately for non-smooth and potential smooth points More...
class  LiftAndQuadricsStatistic
 hold statistics of a single centerfocus experiment : distribution of jacobian rank for different numbers of vanished focal values , different ranks of corresponding quadrics list separately for non-smooth and potential smooth points. For non-smooth points the observed minimal failed lift nr is logged. More...
class  BaseRankStatistic
 Designed to hold statistics of a single centerfocus experiment, namely distribution of jacobian rank for different numbers of vanished focal values. More...
class  RankAndLiftStatistic
class  CenterfocusParams
 Centerfocus options parser and manager. More...
class  Statistic
 Designed to store centerfocus experiment trial counts and trial count statistics about the number of first at least vanished focal values. More...

Functions

template<int variant>
void purge ()
template<class MatrixType , class VectorType1 , class VectorType2 >
void testSolveLGS (MatrixType &lgs, VectorType1 &rightHandSide, VectorType2 &referenceSol, int referenceRank, int solutionNum)
void testSolveLGS (int characteristic, string &inputMatrixStr, string &rhsString, string &referenceSolString, int referenceRank, int solutionNum)
void lgsSandbox ()
int centerfocus (int argc, const char *argv[])
 Main centerfocus routine.
void correctVanishedFocalValuesStatistic (const CenterfocusParams< polynomXY< epsNumber< fieldScalar< defined_Scalar_Type > >, dynamicPolynomdefsNoShift >, epsRing< fieldScalar< defined_Scalar_Type >, fast_Ring< fieldScalar< defined_Scalar_Type >, kdefs_zahl_x< 23, 1 > > > > &params, Statistic<> &st)
template<class TPolynomdefs >
void templatedPolynomDefsSingleTest (TPolynomdefs &defs)
template<template< int > class TPolynomdefs>
void testStaticPolynomDefs ()
template<class TPolynomdefs >
void testDynamicPolynomDefs ()
void testAllStaticPolynomDefs ()
void testAllDynamicPolynomDefs ()
void testAllPolynomDefs ()
bool testTrim ()
bool testExample ()
bool testParameterParser01 ()
template<class FrommerType >
void frommer_TestNo1 (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo2 (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo3 (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo4_a (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo4_b (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo5 (FrommerType &frommer)
template<class FrommerType >
void frommer_TestNo6 (FrommerType &frommer)
template<class FrommerType >
void frommerTest (int characteristic, int epsPrecision)
template<class FrommerType >
void frommerTestInternal (int epsPrecision)
void frommerTest ()
std::ostream & operator<< (std::ostream &out, const CoeffListEntry &centry)
std::string getMacaulayCompilantObjectName (const std::string &strref)
bool isMonomChar (char a)
bool isAllMarker (string mo)
 string has to be without whitespaces
bool isRandomMarker (string morig)
 string has to be without whitespaces
template<class _istream >
void gotoLParamValue (_istream &inputStream, bool parameterNameExpected=true)
template<class _istream >
void readNextPQPolynomStream (_istream &inp, stringstream &polynomData, int &braceLevel)
 read PQPolynom data from param 'L' data at current Position.
Format: {{p monomials of degree 2 },{q monomials of degree 2 },{p.. degree 3},{q .. degree 3},...{.. degree n},{ .. degree n}}
void extractStreamFromPQStream (stringstream &polynomData, P_or_QPolynom p_or_q, stringstream &PStream, stringstream &QStream)
bool getUserHomeDir (std::string &userHomeDir)
template<class tParams >
string composeOutputFileName (string prefix, tParams *params)
long64 incrementLong64 (long64 i)

Detailed Description

Todo:
schauen, ob überall der gleiche assert-header eingebunden wird.

Function Documentation

template<class tParams >
string nCenterFocus::composeOutputFileName ( string  prefix,
tParams *  params 
) [inline]

Definition at line 45 of file ReadCenterFocusParams.h.

References isMonomChar().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::setupOutputFile().

Here is the call graph for this function:

void nCenterFocus::correctVanishedFocalValuesStatistic ( const CenterfocusParams< polynomXY< epsNumber< fieldScalar< defined_Scalar_Type > >, dynamicPolynomdefsNoShift >, epsRing< fieldScalar< defined_Scalar_Type >, fast_Ring< fieldScalar< defined_Scalar_Type >, kdefs_zahl_x< 23, 1 > > > > &  params,
Statistic<> &  st 
)

folgende Bedingung muss gelten (wird auch in params->areWellDefined() überprüft), sonst bekommt man eine falsche Statistik.

betrachte nur Punkte, welche auf der Hamilton-Komponente liegen: fuer alle parametrisierten Strudelgrößen werden anfänglich auch alle nicht-Hamilton-Punkte gezählt. Da man weiss, dass für Punkte auf der Hamilton-Komponente alle Strudelgrößen 0 sind, ist für die Statistik und jede StrudelGröße der Wert st.getTrialCountWithGivenNumOfFirstSuccessiveVanishedFocalValues(parametrizesFocalValuesNum+1) korrekt.

betrachte nur Punkte, welche nicht auf der Hamilton-Komponente liegen:

Fuer alle parametrisierten Strudelgrößen-Statistiken werden anfänglich überflüssigerweise auch Hamilton-Punkte gezählt. Da man weiss, dass für Punkte auf der Hamilton-Komponente alle Strudelgrößen 0 sind, wird kein Punkt auf der Hamiltonkomponente gefiltert der schon von Anfang an dabei ist, egal wie gross params->requiredVanishedFocalValuesNum() ist. Nach dem (optionalen) parametrisieren der ersten Strudelgrößen werden Punkte auf der Hamilton-Komponente gefiltert und gezählt (hamiltonianFilteredCount) und können anschließend von der Statistik für jede parametrisierte Strudelgröße wieder abgezogen werden.

Strudelgrößen-Statistik muss nicht korrigiert werden.

Definition at line 415 of file centerfocus.cpp.

References hamiltonianPointCount_g.

Referenced by centerfocus().

void nCenterFocus::extractStreamFromPQStream ( stringstream &  polynomData,
P_or_QPolynom  p_or_q,
stringstream &  PStream,
stringstream &  QStream 
)

Definition at line 260 of file ReadCenterFocusParams.h.

References extractChar(), and extractNextBracedData().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::updatePolynoms().

Here is the call graph for this function:

template<class FrommerType >
void nCenterFocus::frommer_TestNo1 ( FrommerType &  frommer  )  [inline]

Definition at line 322 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo2 ( FrommerType &  frommer  )  [inline]

Definition at line 354 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo3 ( FrommerType &  frommer  )  [inline]

Definition at line 382 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo4_a ( FrommerType &  frommer  )  [inline]

Definition at line 407 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo4_b ( FrommerType &  frommer  )  [inline]

Definition at line 431 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo5 ( FrommerType &  frommer  )  [inline]

Definition at line 468 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

template<class FrommerType >
void nCenterFocus::frommer_TestNo6 ( FrommerType &  frommer  )  [inline]

Definition at line 493 of file CenterFocusTestUnit.h.

Referenced by frommerTest().

void nCenterFocus::frommerTest (  ) 

Definition at line 579 of file CenterFocusTestUnit.h.

References epsPrecision.

template<class FrommerType >
void nCenterFocus::frommerTest ( int  characteristic,
int  epsPrecision 
) [inline]

Definition at line 527 of file CenterFocusTestUnit.h.

References frommer_TestNo1(), frommer_TestNo2(), frommer_TestNo3(), frommer_TestNo4_a(), frommer_TestNo4_b(), frommer_TestNo5(), and frommer_TestNo6().

Referenced by main().

Here is the call graph for this function:

template<class FrommerType >
void nCenterFocus::frommerTestInternal ( int  epsPrecision  )  [inline]

Definition at line 565 of file CenterFocusTestUnit.h.

std::string nCenterFocus::getMacaulayCompilantObjectName ( const std::string &  strref  ) 
Todo:
entfernt nur Whitespaces. Sollte aber den Objektname Macaulay-Konform konvertieren.

name soll mindestens einen Buchstaben haben.

Referenced by nCenterFocus::RankAndLiftStatistic::print(), and nCenterFocus::BaseRankStatistic::print().

bool nCenterFocus::getUserHomeDir ( std::string &  userHomeDir  ) 
template<class _istream >
void nCenterFocus::gotoLParamValue ( _istream &  inputStream,
bool  parameterNameExpected = true 
) [inline]
Todo:
allgemeiner schreiben - Parametername als Parameter seek to the position of first openBrace in value of Parameter L. N

Definition at line 125 of file ReadCenterFocusParams.h.

References extractChar(), readCurrentComment(), readParamName(), readParamValue(), and stripComments().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::readNextPolynoms().

Here is the call graph for this function:

long64 nCenterFocus::incrementLong64 ( long64  i  ) 

Definition at line 12 of file Statistik.cpp.

bool nCenterFocus::isAllMarker ( string  mo  ) 

Definition at line 101 of file ReadCenterFocusParams.h.

References eatWS().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::readMonomGroup().

Here is the call graph for this function:

bool nCenterFocus::isMonomChar ( char  a  ) 
Note:
not used

Definition at line 90 of file ReadCenterFocusParams.h.

Referenced by composeOutputFileName().

bool nCenterFocus::isRandomMarker ( string  morig  ) 

Definition at line 108 of file ReadCenterFocusParams.h.

References eatWS().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::readMonomGroup().

Here is the call graph for this function:

void nCenterFocus::lgsSandbox (  ) 
Todo:

Problem: wenn man Fliesskommazahlen als Parameter an FFPACK übergibt, wird dies von FFPACK nicht überprüft.

: wenn man diese tolle Initialisierung verwendet, sollte die Initialisierung aus Strings auch getestet werden !

: ein optionaler Test wäre ...was?

: Integrationstest: solveLGS mit getRightKernel kombiniert...

ist ein Fehler ohne Tests entdeckt -> ein Test überlegen, welcher den Fehler feststellen würde!

Definition at line 296 of file centerfocus.cpp.

References testSolveLGS().

Referenced by main().

Here is the call graph for this function:

std::ostream & nCenterFocus::operator<< ( std::ostream &  out,
const CoeffListEntry &  centry 
)
template<int variant>
void nCenterFocus::purge (  )  [inline]

Definition at line 168 of file Algorithm.h.

template<class _istream >
void nCenterFocus::readNextPQPolynomStream ( _istream &  inp,
stringstream &  polynomData,
int &  braceLevel 
) [inline]
Precondition:
man befindet sich bei dem eingabestring im Bereich des Wertes vom Parameter 'L'

genauer: es ist als nächstes nur " {" erlaubt, keine weiteren Zwischenzeichen

Definition at line 208 of file ReadCenterFocusParams.h.

References extractChar(), and stripComments().

Referenced by nCenterFocus::CenterfocusParams< TPolynomXY, TRing >::readNextPolynoms().

Here is the call graph for this function:

template<class TPolynomdefs >
void nCenterFocus::templatedPolynomDefsSingleTest ( TPolynomdefs &  defs  )  [inline]

Definition at line 27 of file CenterFocusTestUnit.h.

Referenced by testDynamicPolynomDefs(), and testStaticPolynomDefs().

void nCenterFocus::testAllDynamicPolynomDefs (  ) 

Definition at line 105 of file CenterFocusTestUnit.h.

Referenced by testAllPolynomDefs().

void nCenterFocus::testAllPolynomDefs (  ) 

Definition at line 113 of file CenterFocusTestUnit.h.

References testAllDynamicPolynomDefs(), and testAllStaticPolynomDefs().

Referenced by main().

Here is the call graph for this function:

void nCenterFocus::testAllStaticPolynomDefs (  ) 

Definition at line 97 of file CenterFocusTestUnit.h.

Referenced by testAllPolynomDefs().

template<class TPolynomdefs >
void nCenterFocus::testDynamicPolynomDefs (  )  [inline]

Definition at line 80 of file CenterFocusTestUnit.h.

References templatedPolynomDefsSingleTest().

Here is the call graph for this function:

bool nCenterFocus::testExample (  ) 

Hmm, jetzt musst du irgendwie die Statistik abfragen, bzw die p und q-polynome

Definition at line 130 of file CenterFocusTestUnit.h.

References centerfocus().

Here is the call graph for this function:

bool nCenterFocus::testParameterParser01 (  ) 
Todo:

wie kann getestet werden, ob die Eingaben auch aus einer Datei und dem input Stream korrekt gelesen werden?

damit man bei den Zahlen sicher ist, muessen diese wieder zurueck in ein String verwandelt werden und dann verglichtn, zumindest bei anzZufall!

Hmm, jetzt musst du irgendwie die Statistik abfragen, bzw die p und q-polynome

Definition at line 190 of file CenterFocusTestUnit.h.

References D_CenterfocusParams.

void nCenterFocus::testSolveLGS ( int  characteristic,
string &  inputMatrixStr,
string &  rhsString,
string &  referenceSolString,
int  referenceRank,
int  solutionNum 
)

Definition at line 266 of file centerfocus.cpp.

References defined_Field_Type, and testSolveLGS().

Here is the call graph for this function:

template<class MatrixType , class VectorType1 , class VectorType2 >
void nCenterFocus::testSolveLGS ( MatrixType &  lgs,
VectorType1 &  rightHandSide,
VectorType2 &  referenceSol,
int  referenceRank,
int  solutionNum 
) [inline]

Definition at line 234 of file centerfocus.cpp.

Referenced by lgsSandbox(), and testSolveLGS().

template<template< int > class TPolynomdefs>
void nCenterFocus::testStaticPolynomDefs (  )  [inline]

Definition at line 50 of file CenterFocusTestUnit.h.

References templatedPolynomDefsSingleTest().

Here is the call graph for this function:

bool nCenterFocus::testTrim (  ) 

Definition at line 121 of file CenterFocusTestUnit.h.

References ltrim(), rtrim(), and trim().

Here is the call graph for this function:

Generated on Tue Nov 23 13:10:53 2010 for centerfocus by  doxygen 1.6.3