permlib  0.2.8
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
permlib::GroupType Class Reference

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
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
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

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.

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: