Regina 7.3 Calculation Engine
Classes | Namespaces | Enumerations | Functions | Variables
perm.h File Reference

Deals with permutations of {0,1,...,n-1}. More...

#include <algorithm>
#include <array>
#include <cstdint>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <string>
#include "regina-core.h"
#include "utilities/bitmanip.h"
#include "utilities/exception.h"
#include "utilities/intutils.h"
#include "utilities/randutils.h"
#include "maths/spec/perm6.h"
#include "maths/spec/perm2.h"
#include "maths/spec/perm3.h"
#include "maths/spec/perm4.h"
#include "maths/spec/perm5.h"
#include "maths/spec/perm7.h"

Classes

class  regina::Perm< n >
 Represents a permutation of {0,1,...,n-1}. More...
 
class  regina::PermClass< n >
 Represents a conjugacy class of permutations on n elements. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 
namespace  regina::detail
 Contains implementation details and common functionality for Regina's dimension-agnostic classes.
 

Enumerations

enum  regina::PermCodeType { regina::PERM_CODE_IMAGES = 1 , regina::PERM_CODE_INDEX = 2 }
 Represents the different kinds of internal permutation codes that are used in Regina's various Perm<n> template classes. More...
 

Functions

constexpr char regina::digit (int i)
 Returns the character used to express the integer i in a permutation. More...
 
constexpr int64_t regina::factorial (int n)
 Returns the factorial of n. More...
 
template<int n>
std::ostream & regina::operator<< (std::ostream &out, const Perm< n > &p)
 Writes a string representation of the given permutation to the given output stream. More...
 
template<int n>
std::ostream & regina::operator<< (std::ostream &out, const PermClass< n > &c)
 Writes a string representation of the given conjugacy class of permutations to the given output stream. More...
 

Variables

constexpr int regina::detail::countPermClasses [17]
 Stores the total number of conjugacy classes of permutations on n elements, for all n ≤ 16. More...
 
constexpr int64_t regina::detail::permClassRep [countPermClasses[16]]
 Stores the S_n indices of all minimal representatives of conjugacy classes of permutations on n elements, for all n ≤ 16. More...
 

Detailed Description

Deals with permutations of {0,1,...,n-1}.

This is the only header that you need to include for Regina's permutation classes. It will automatically bring in all implementation details and specialisations.


Copyright © 1999-2023, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).