AlVin  1.0
A C++ implementation of the Vinberg's algorithm for Q, Q( sqrt(d) ) and Q( cos(2 pi / 7) )
Public Member Functions | List of all members
RationalInteger_AlVin Class Reference

Find the vectors for rational integers. More...

#include <rationalinteger_alvin.h>

Inheritance diagram for RationalInteger_AlVin:
Inheritance graph
[legend]
Collaboration diagram for RationalInteger_AlVin:
Collaboration graph
[legend]

Public Member Functions

 RationalInteger_AlVin (const vector< int > &iQuadraticFormCoeffs, const string &strOuputMathematicalFormat, const bool &bWriteInfo, const bool &bDebug)
 
virtual string get_strField () const
 Return the field of definition of the current quadratic form.
 
- Public Member Functions inherited from AlVin
 AlVin (const string &strOuputMathematicalFormat, const bool &bWriteInfo, const bool &bDebug)
 Constructor for the parent AlVin object. More...
 
bool Run (unsigned int iMinVectors=0, unsigned int iMaxVectors=0, bool bLastCheckFV=true)
 Run the algo! More...
 
AlgebraicIntegeraiBilinearProduct (const vector< AlgebraicInteger * > &v1, const vector< AlgebraicInteger * > &v2)
 Compute the product between two vectors.
 
void print_iQF () const
 Print the quadratic form.
 
void print_vectors () const
 Print the found vectors.
 
vector< vector< unsigned int > > get_iCoxeterMatrix () const
 Return the Coxeter matrix.
 
unsigned int get_iDimension () const
 Return n, the dimension.
 
string get_strFinalInformation () const
 Return some information stored during the computations.
 
string get_strCoxeterMatrix () const
 Return the Coxeter matrix (string format; rows are separated by a
)
 
string get_strQF (const string &strSeparator=", ") const
 Return the current quadratic form (string) More...
 
string get_strAlgebraicIntegerType () const
 Return the underlying field of the quadratic form.
 
vector< vector< AlgebraicInteger * > > get_aiVectors () const
 Return the list of found vectors.
 
unsigned int get_iVectorsCount () const
 Return the number of found vectors.
 
vector< AlgebraicInteger * > get_aiQF () const
 Return the quadratic form.
 
vector< AlgebraicInteger * > get_aiPossibleNorm2 () const
 Return the list of possible values for (e,e), where e is a root of the quadratic lattice.
 
const vector< AlgebraicInteger * > * get_ptraiPossibleNorm2 () const
 Return a pointer to the list of possible values for (e,e), where e is a root of the quadratic lattice.
 
CoxIter * get_ptrCI () const
 Return a pointer to the the last CoxIter object.
 
void set_iCreateImage (const int &iValue)
 Create image with the graph: 1: forced yes, 0: forced no, -1: default value (only if at most 25 vectors found)
 
void set_bComputeInvariantsPolyhedron (const bool &bValue)
 Do we have to compute the invariants of the final polyhedron.
 

Additional Inherited Members

- Protected Member Functions inherited from AlVin
void initializations ()
 
void print_initialInformation () const
 
virtual void print_initialInformationChild () const
 
void print_finallInformation () const
 
- Protected Attributes inherited from AlVin
vector< AlgebraicInteger * > aiQF
 
unsigned int iDimension
 Dimension of the space.
 
bool bComputeInvariantsPolyhedron
 If yes, we compute the invariants of the final polyhedron.
 
bool bDebug
 If true, more information are displayed.
 
bool bWriteInfo
 If we want to write informations (false if AlVin is used "as a plugin")
 
int iCreateImage
 -1: not specified (i.e. yes if possible and if the number of vectors is <= 25), 0: no, 1: force yes
 
string strAlgebraicIntegerType
 RationalInteger, QuadraticInteger.
 
vector< unsigned int > iQBlocksSize
 Sizes of blocks of coefficients.
 
vector< unsigned int > iComponentLessThan
 The entry [ i ] = j means x_i <= x_j, [ i ] = 0 means no information for x_i.
 
vector< vector< AlgebraicInteger * > > aiVectors
 The vectors.
 
unsigned int iVectorsCount
 Number of vectors found.
 
unsigned int iVectorsCount_second
 Number of vectors found (second batch)
 
vector< vector< AlgebraicInteger * > > aiVectors_candidates
 Vectors which are compatiable with the previous.
 
vector< vector< unsigned int > > iCoxeterMatrix
 
vector< AlgebraicInteger * > iBilinearProducts
 To control during findVector_simple that the vector has negative product with the preceding ones.
 
AlVinFractionsvf
 
string strOuputMathematicalFormat
 
string strFinalInformation
 Final information that will be displayed.
 

Detailed Description

Find the vectors for rational integers.


The documentation for this class was generated from the following files: