permlib  0.2.9
Library for permutation computations
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
permlib::GroupType Class Referenceabstract

abstract base class for permutation group types More...

#include <group_type.h>

Inheritance diagram for permlib::GroupType:
permlib::AnonymousGroupType< IntegerType > permlib::DirectProductGroupType permlib::NamedGroupType permlib::TrivialGroupType permlib::WreathSymmetricGroupType permlib::AlternatingGroupType permlib::CyclicGroupType permlib::SymmetricGroupType

Public Types

enum  Type {
  None, Trivial, Named, Anonymous,
  WreathSymmetric, DirectProduct
}
 types for which an implementation of GroupType exists
 

Public Member Functions

void writeToStream (std::ostream &o) const
 writes a human readable identifier to the given output stream
 
unsigned int realDegree () const
 the degree of the group as permutation group
 
bool isNaturalAction () const
 returns true iff action is natural More...
 
Type type () const
 the type of this the group
 
bool equals (const GroupType *type_) const
 checks if two group types represent the same permutation group
 
void setNonNaturalAction (unsigned int realDegree_)
 stores the information that this group acts non-naturally on realDegree many elements
 
virtual ~GroupType ()
 destructor
 

Protected Member Functions

 GroupType (Type type_, unsigned int realDegree_, bool naturalAction)
 protected constructor
 
virtual bool equalsType (const GroupType *type_) const
 checks if two group types represent the same permutation group More...
 
virtual void writeTypeToStream (std::ostream &o) const =0
 writes type specific string to output stream
 

Protected Attributes

Type m_type
 group type
 
unsigned int m_realDegree
 degree of the permutation group
 
bool m_naturalAction
 stores whether action is natural
 

Detailed Description

abstract base class for permutation group types

Member Function Documentation

◆ equalsType()

virtual bool permlib::GroupType::equalsType ( const GroupType type_) const
inlineprotectedvirtual

checks if two group types represent the same permutation group

This method may expect that the given group type is of the same type as itself. Thus it may cast type to its own type.

Reimplemented in permlib::DirectProductGroupType, permlib::WreathSymmetricGroupType, permlib::NamedGroupType, permlib::AnonymousGroupType< IntegerType >, and permlib::TrivialGroupType.

◆ isNaturalAction()

bool permlib::GroupType::isNaturalAction ( ) const
inline

returns true iff action is natural

Natural action means, for instance, that a S_k acts on k elements.


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