Basic Polynomial Algebra Subprograms (BPAS)  v. 1.791
Public Member Functions | Friends | List of all members
Intervals Class Reference

Interval lists for real roots of multivariate polynomials. More...

#include <interval.h>

Public Member Functions

 Intervals ()
 Construct intervals. More...
 
 Intervals (int v)
 Construct intervals with number of variates. More...
 
 Intervals (const Intervals &b)
 Copy construct. More...
 
 ~Intervals ()
 Destroy intervals. More...
 
Intervalsoperator= (Intervals b)
 Overload operator =. More...
 
int numberOfVariables ()
 Get number of variables. More...
 
int numberOfIntervals ()
 Get the number of roots. More...
 
void pushInterval (Interval pI)
 Push an interval to the end of the list. More...
 
void pushInterval (lfixq l, lfixq r)
 Push an interval to the end of the list. More...
 
void pushInterval (double l, double r)
 
void popInterval ()
 Pop the last interval. More...
 
void clear ()
 Clear all the intervals. More...
 
Intervalinterval (int k, int l=0)
 Get a root of a variate. More...
 
Intervals root (int k)
 Get a root of variates. More...
 
void setVariableNames (const std::vector< Symbol > &xs)
 Set variable names. More...
 
void copyFrom (Intervals &pIs, int k)
 Copy the k-th root. More...
 
void scale (int k)
 Scale to 2^k. More...
 
void transformLeft ()
 Scale to that over 2. More...
 
void transformRight ()
 Scale to that plus 1 and then over 2. More...
 
void negate ()
 Negate each interval and re-sort. More...
 
void concatenate (Intervals &pIs)
 Merge another intervals into the end of the current one. More...
 
bool isExactEqual (Intervals &pIs)
 

Friends

std::ostream & operator<< (std::ostream &out, Intervals &a)
 Overload stream operator <<. More...
 

Detailed Description

Interval lists for real roots of multivariate polynomials.

i.e. []*..*[], .., []*..*[]

Constructor & Destructor Documentation

◆ Intervals() [1/3]

Intervals::Intervals ( )
inline

Construct intervals.

Parameters

◆ Intervals() [2/3]

Intervals::Intervals ( int  v)
inline

Construct intervals with number of variates.

Parameters
vNumber of variates

◆ Intervals() [3/3]

Intervals::Intervals ( const Intervals b)
inline

Copy construct.

Parameters
bIntervals

◆ ~Intervals()

Intervals::~Intervals ( )
inline

Destroy intervals.

Parameters

Member Function Documentation

◆ clear()

void Intervals::clear ( )
inline

Clear all the intervals.

Parameters

◆ concatenate()

void Intervals::concatenate ( Intervals pIs)

Merge another intervals into the end of the current one.

Parameters
pIsA list of intervals

◆ copyFrom()

void Intervals::copyFrom ( Intervals pIs,
int  k 
)

Copy the k-th root.

Parameters
pIsA list of roots
kOffset of roots

◆ interval()

Interval* Intervals::interval ( int  k,
int  l = 0 
)
inline

Get a root of a variate.

Parameters
kOffset of roots
lOffset of variables in an ascending order

◆ negate()

void Intervals::negate ( )

Negate each interval and re-sort.

Parameters

◆ numberOfIntervals()

int Intervals::numberOfIntervals ( )
inline

Get the number of roots.

Parameters

◆ numberOfVariables()

int Intervals::numberOfVariables ( )
inline

Get number of variables.

Parameters

◆ operator=()

Intervals& Intervals::operator= ( Intervals  b)
inline

Overload operator =.

Parameters
bIntervals

◆ popInterval()

void Intervals::popInterval ( )
inline

Pop the last interval.

Parameters

◆ pushInterval() [1/2]

void Intervals::pushInterval ( Interval  pI)
inline

Push an interval to the end of the list.

Parameters
pIAn interval

◆ pushInterval() [2/2]

void Intervals::pushInterval ( lfixq  l,
lfixq  r 
)
inline

Push an interval to the end of the list.

Parameters
lInterval's left
rInterval's right

◆ root()

Intervals Intervals::root ( int  k)
inline

Get a root of variates.

Parameters
kOffset of roots

◆ scale()

void Intervals::scale ( int  k)

Scale to 2^k.

Parameters
kThe power of 2

◆ setVariableNames()

void Intervals::setVariableNames ( const std::vector< Symbol > &  xs)
inline

Set variable names.

Parameters
xsVariable names

◆ transformLeft()

void Intervals::transformLeft ( )

Scale to that over 2.

Parameters

◆ transformRight()

void Intervals::transformRight ( )

Scale to that plus 1 and then over 2.

Parameters

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
Intervals a 
)
friend

Overload stream operator <<.

Parameters
outStream object
aIntervals

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