permlib 0.2.9
Library for permutation computations
Loading...
Searching...
No Matches
permlib::partition::GroupRefinement< PERM, TRANS > Class Template Reference

concrete $\mathcal P$-refinements for group membership More...

#include <group_refinement.h>

Inheritance diagram for permlib::partition::GroupRefinement< PERM, TRANS >:
permlib::partition::Refinement< PERM >

Public Member Functions

 GroupRefinement (const BSGSCore< PERM, TRANS > &bsgs)
 constructor
virtual unsigned int apply (Partition &pi) const
 applies (left-)refinement to pi which is the original partition this refinement was initialized to
virtual unsigned int apply2 (Partition &pi, const PERM &t) const
 applies (right-)refinement to pi which is the image of the original partition this refinement was initialized to under t
virtual bool init (Partition &pi)
 initializes refinement
const BSGSCore< PERM, TRANS > & bsgs () const
 bsgs which membership for is required
Public Member Functions inherited from permlib::partition::Refinement< PERM >
 Refinement (unsigned long n, RefinementType type)
 constructor
virtual ~Refinement ()
 destructor
bool initializeAndApply (Partition &pi)
 applies (left-)refinement to partition and initializes refinement for future use in R-base
void undo (Partition &pi, unsigned int count) const
 reverts the last count elementary intersections of partition pi
RefinementType type () const
 the type of this refinement
unsigned int alternatives () const
 number of sibling of this refinement in the search tree
RefinementPtrIterator backtrackBegin () const
 iterator to begin of refinement siblings in the search tree
RefinementPtrIterator backtrackEnd () const
 iterator to end of refinement siblings in the search tree
virtual void sort (const BaseSorterByReference &, const Partition *)
 sorts siblings in the search tree

Additional Inherited Members

Public Types inherited from permlib::partition::Refinement< PERM >
typedef boost::shared_ptr< Refinement< PERM > > RefinementPtr
typedef std::vector< RefinementPtr >::const_iterator RefinementPtrIterator
Protected Member Functions inherited from permlib::partition::Refinement< PERM >
bool initialized () const
 true iff refinement is initalized
Protected Attributes inherited from permlib::partition::Refinement< PERM >
unsigned long m_n
 length of partitions to work with
std::vector< RefinementPtr > m_backtrackRefinements
 refinement siblings in the search tree
std::list< int > m_cellPairs
 indices of elementary intersections to apply during refinement application

Detailed Description

template<class PERM, class TRANS>
class permlib::partition::GroupRefinement< PERM, TRANS >

concrete $\mathcal P$-refinements for group membership

Member Function Documentation

◆ apply()

template<class PERM, class TRANS>
unsigned int permlib::partition::GroupRefinement< PERM, TRANS >::apply ( Partition & pi) const
virtual

applies (left-)refinement to pi which is the original partition this refinement was initialized to

See also
undo
apply2
Returns
number of elementary intersections that were needed for refinement application

Implements permlib::partition::Refinement< PERM >.

◆ apply2()

template<class PERM, class TRANS>
unsigned int permlib::partition::GroupRefinement< PERM, TRANS >::apply2 ( Partition & pi,
const PERM & t ) const
virtual

applies (right-)refinement to pi which is the image of the original partition this refinement was initialized to under t

See also
undo
apply
Returns
number of elementary intersections that were needed for refinement application

Reimplemented from permlib::partition::Refinement< PERM >.

◆ init()

template<class PERM, class TRANS>
bool permlib::partition::GroupRefinement< PERM, TRANS >::init ( Partition & pi)
virtual

initializes refinement

Implements permlib::partition::Refinement< PERM >.


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