Developer documentation

mmx::realroot::box_rep< POL > Class Template Reference

Box representation. More...

#include <solver_mv_monomial_box_rep.hpp>

Public Member Functions

void update_data ()
 
 box_rep ()
 
 box_rep (Seq< POL > &sys, homography_mv< C > &h)
 
 box_rep (box_rep< POL > b, int i)
 
 box_rep (Seq< POL > &sys, unsigned d)
 
 ~box_rep ()
 
void restrict (Seq< Interval< C > > &dom0)
 
Seq< POLsystem ()
 Accessors. More...
 
homography_mv< C > homography ()
 
POL system (unsigned i)
 
unsigned nbvar ()
 
unsigned nbpol ()
 
template<class FT >
FT volume ()
 
template<class C >
int ** submatrix (C **matrix, int order, int i, int j)
 
template<class C >
det (C **matrix, int order)
 
int signof (DPOL *p)
 
homography_mv< C > hom ()
 
POL system (const int i)
 
template<class FT >
Seq< Interval< FT > > domain ()
 
Seq< C > middle ()
 
middle (int i)
 
template<class FT >
Seq< FT > point (Seq< FT > t)
 
Seq< C > subdiv_center (const unsigned &i)
 
Seq< double > subdiv_point (const unsigned &i)
 
template<class FT >
Seq< FT > eval (Seq< FT > t)
 
bool is_root (Seq< C > t)
 
bool reduce_domain ()
 Reduce the domain from below using integer lower bound. More...
 
l_bound (const int v)
 Lower integer bound for v-th coords of the positive roots. More...
 
POL mins (POL *f, int v)
 
POL maxs (POL *f, int v)
 
void subdivide (STACK &stck)
 Subdivide in all directions. More...
 
void safe_split (const int &v, C m=C(1))
 Subdivide in direction v only. More...
 
void subdivide (const int &v, STACK &stck, C m=C(1))
 Subdivide in direction v only. More...
 
void subdivide (const int &v, C &m, STACK &stck)
 Subdivide in direction v and at point x_v=m. More...
 
void shift_box (const C &t, const int &v=0)
 Shift the system by t in direction v. More...
 
void contract_box (const C &t, const int &v)
 x_v = t*x_v More...
 
void reverse_box (const int &v)
 
void reverse_and_shift_box (const int &v)
 
bool miranda_test (const int i, const int j)
 
template<class FT >
bool include1 (DPOL *J)
 Inclusion criteria (Miranda Test) More...
 
bool include2 (DPOL *J)
 Inclusion criteria (Jacobian+Topological Degree) More...
 
bool include3 (DPOL *J)
 Inclusion criteria based on Rump's test. More...
 
template<class FT >
bool exclude1 (Seq< POL * > &S0)
 Exclusion criteria (inteval arithmetic) More...
 
template<class FT >
FT width ()
 The width of the box (max of projection widths) More...
 
template<class FT >
FT width (unsigned &t)
 The width, corresponding max projection returned in t. More...
 
POL lface (const int &i, const int &v)
 
POL rface (const int &i, const int &v)
 
void print ()
 

Public Attributes

Seq< POLS
 

Detailed Description

template<class POL>
class mmx::realroot::box_rep< POL >

Box representation.

Constructor & Destructor Documentation

template<class POL>
mmx::realroot::box_rep< POL >::box_rep ( )
inline
template<class POL>
mmx::realroot::box_rep< POL >::box_rep ( Seq< POL > &  sys,
homography_mv< C > &  h 
)
inline
template<class POL>
mmx::realroot::box_rep< POL >::box_rep ( box_rep< POL b,
int  i 
)
inline
template<class POL>
mmx::realroot::box_rep< POL >::box_rep ( Seq< POL > &  sys,
unsigned  d 
)
inline
template<class POL>
mmx::realroot::box_rep< POL >::~box_rep ( )
inline

Member Function Documentation

template<class POL>
void mmx::realroot::box_rep< POL >::contract_box ( const C &  t,
const int &  v 
)
inline

x_v = t*x_v

template<class POL>
template<class C >
C mmx::realroot::box_rep< POL >::det ( C **  matrix,
int  order 
)
inline
template<class POL>
template<class FT >
Seq<Interval<FT> > mmx::realroot::box_rep< POL >::domain ( )
inline
template<class POL>
template<class FT >
Seq<FT> mmx::realroot::box_rep< POL >::eval ( Seq< FT >  t)
inline
template<class POL>
template<class FT >
bool mmx::realroot::box_rep< POL >::exclude1 ( Seq< POL * > &  S0)
inline

Exclusion criteria (inteval arithmetic)

template<class POL>
homography_mv<C> mmx::realroot::box_rep< POL >::hom ( )
inline
template<class POL>
homography_mv<C> mmx::realroot::box_rep< POL >::homography ( )
inline
template<class POL>
template<class FT >
bool mmx::realroot::box_rep< POL >::include1 ( DPOL J)
inline

Inclusion criteria (Miranda Test)

template<class POL>
bool mmx::realroot::box_rep< POL >::include2 ( DPOL J)
inline

Inclusion criteria (Jacobian+Topological Degree)

template<class POL>
bool mmx::realroot::box_rep< POL >::include3 ( DPOL J)
inline

Inclusion criteria based on Rump's test.

template<class POL>
bool mmx::realroot::box_rep< POL >::is_root ( Seq< C >  t)
inline
template<class POL>
C mmx::realroot::box_rep< POL >::l_bound ( const int  v)
inline

Lower integer bound for v-th coords of the positive roots.

template<class POL>
POL mmx::realroot::box_rep< POL >::lface ( const int &  i,
const int &  v 
)
inline
template<class POL>
POL mmx::realroot::box_rep< POL >::maxs ( POL f,
int  v 
)
inline
template<class POL>
Seq<C> mmx::realroot::box_rep< POL >::middle ( )
inline
template<class POL>
C mmx::realroot::box_rep< POL >::middle ( int  i)
inline
template<class POL>
POL mmx::realroot::box_rep< POL >::mins ( POL f,
int  v 
)
inline
template<class POL>
bool mmx::realroot::box_rep< POL >::miranda_test ( const int  i,
const int  j 
)
inline
template<class POL>
unsigned mmx::realroot::box_rep< POL >::nbpol ( )
inline
template<class POL>
unsigned mmx::realroot::box_rep< POL >::nbvar ( )
inline
template<class POL>
template<class FT >
Seq<FT> mmx::realroot::box_rep< POL >::point ( Seq< FT >  t)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::print ( )
inline
template<class POL>
bool mmx::realroot::box_rep< POL >::reduce_domain ( )
inline

Reduce the domain from below using integer lower bound.

template<class POL>
void mmx::realroot::box_rep< POL >::restrict ( Seq< Interval< C > > &  dom0)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::reverse_and_shift_box ( const int &  v)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::reverse_box ( const int &  v)
inline
template<class POL>
POL mmx::realroot::box_rep< POL >::rface ( const int &  i,
const int &  v 
)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::safe_split ( const int &  v,
m = C(1) 
)
inline

Subdivide in direction v only.

template<class POL>
void mmx::realroot::box_rep< POL >::shift_box ( const C &  t,
const int &  v = 0 
)
inline

Shift the system by t in direction v.

template<class POL>
int mmx::realroot::box_rep< POL >::signof ( DPOL p)
inline
template<class POL>
Seq<C> mmx::realroot::box_rep< POL >::subdiv_center ( const unsigned &  i)
inline
template<class POL>
Seq<double> mmx::realroot::box_rep< POL >::subdiv_point ( const unsigned &  i)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::subdivide ( STACK &  stck)
inline

Subdivide in all directions.

template<class POL>
void mmx::realroot::box_rep< POL >::subdivide ( const int &  v,
STACK &  stck,
m = C(1) 
)
inline

Subdivide in direction v only.

template<class POL>
void mmx::realroot::box_rep< POL >::subdivide ( const int &  v,
C &  m,
STACK &  stck 
)
inline

Subdivide in direction v and at point x_v=m.

template<class POL>
template<class C >
int** mmx::realroot::box_rep< POL >::submatrix ( C **  matrix,
int  order,
int  i,
int  j 
)
inline
template<class POL>
Seq<POL> mmx::realroot::box_rep< POL >::system ( )
inline

Accessors.

template<class POL>
POL mmx::realroot::box_rep< POL >::system ( unsigned  i)
inline
template<class POL>
POL mmx::realroot::box_rep< POL >::system ( const int  i)
inline
template<class POL>
void mmx::realroot::box_rep< POL >::update_data ( )
inline
template<class POL>
template<class FT >
FT mmx::realroot::box_rep< POL >::volume ( )
inline
template<class POL>
template<class FT >
FT mmx::realroot::box_rep< POL >::width ( )
inline

The width of the box (max of projection widths)

template<class POL>
template<class FT >
FT mmx::realroot::box_rep< POL >::width ( unsigned &  t)
inline

The width, corresponding max projection returned in t.

Member Data Documentation

template<class POL>
Seq<POL> mmx::realroot::box_rep< POL >::S

The documentation for this class was generated from the following file:
Home