KPermutations

class KPermutations(*args)

K permutations generator.

Available constructors:

KPermutations()

KPermutations(n)

KPermutations(k, n)

Parameters
kinteger

The cardinal of the origin set

ninteger

The cardinal of the goal set

Notes

In the first usage, the generator is built using the default values k = 1, n = 1.

In the second usage, the generator is built using the value k = n.

In the third usage, the generator produces all the injective functions from a set with k elements into a set with n elements. If k = n it means all the permutations of a set with n elements.

The number of indices generated is:

\frac{n!}{(n - k)!}

The combinations generator generates a collection of Indices that contains all the k! permutations of all the \frac{n!}{k! (n - k)!} subsets with k elements of a set with n elements.

The subsets are generated in lexical order, and for each subset all the corresponding injective functions are generated in lexical order.

Examples

>>> import openturns as ot
>>> kperm = ot.KPermutations(2, 4)
>>> print(kperm.generate())
[[0,1],[1,0],[0,2],[2,0],[0,3],[3,0],[1,2],[2,1],[1,3],[3,1],[2,3],[3,2]]#12

Methods

generate(self)

Generate the combinatorial sequence.

getClassName(self)

Accessor to the object’s name.

getId(self)

Accessor to the object’s id.

getK(self)

Accessor to the cardinal of the subsets.

getN(self)

Accessor to the cardinal of the base set.

getName(self)

Accessor to the object’s name.

getShadowedId(self)

Accessor to the object’s shadowed id.

getVisibility(self)

Accessor to the object’s visibility state.

hasName(self)

Test if the object is named.

hasVisibleName(self)

Test if the object has a distinguishable name.

setK(self, k)

Accessor to the cardinal of the subsets.

setN(self, n)

Accessor to the cardinal of the base set.

setName(self, name)

Accessor to the object’s name.

setShadowedId(self, id)

Accessor to the object’s shadowed id.

setVisibility(self, visible)

Accessor to the object’s visibility state.

__init__(self, \*args)

Initialize self. See help(type(self)) for accurate signature.

generate(self)

Generate the combinatorial sequence.

Returns
indicesColcollection of Indices

The collection of all the possible values of the combinatorial generator as a set of non-negative integer values stored into an Indices.

getClassName(self)

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

getId(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

getK(self)

Accessor to the cardinal of the subsets.

Returns
kinteger

The cardinal of the subsets.

getN(self)

Accessor to the cardinal of the base set.

Returns
ninteger

The cardinal of the base set.

getName(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

getShadowedId(self)

Accessor to the object’s shadowed id.

Returns
idint

Internal unique identifier.

getVisibility(self)

Accessor to the object’s visibility state.

Returns
visiblebool

Visibility flag.

hasName(self)

Test if the object is named.

Returns
hasNamebool

True if the name is not empty.

hasVisibleName(self)

Test if the object has a distinguishable name.

Returns
hasVisibleNamebool

True if the name is not empty and not the default one.

setK(self, k)

Accessor to the cardinal of the subsets.

Parameters
kinteger

The cardinal of the subsets.

setN(self, n)

Accessor to the cardinal of the base set.

Parameters
ninteger

The cardinal of the base set.

setName(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setShadowedId(self, id)

Accessor to the object’s shadowed id.

Parameters
idint

Internal unique identifier.

setVisibility(self, visible)

Accessor to the object’s visibility state.

Parameters
visiblebool

Visibility flag.