GNU-Darwin Web
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

# Algebra::PermutationGroup

This is the class of permutations. The elements are assumed to be the instances of Permutation.

## File Name:

• permutation-group.rb

• Group

## Class Methods:

`::new(u, [g0, [g1, ...]])`

Returns the group with unit u, whcih consists of g0, g1, ....

`::unit_group(d)`

Return the unit group of degree d.

`::unity(n)`

Retunrs the unity of degree n.

`::perm(a)`

Returns the permuation represented by the array a.

`::symmetric(n)`

Returns the simmetric group of degree n

`::alternate(n)`

Returns the alternative group of dgree n.

# Algebra::Permutation

## File Name:

• permutation-group.rb

• Object

• Enumerable
• Powers

## Class Methods:

`::new(x)`

Returns the permutaiont represented by the array x.

`::[[n0, [n1, [n2, ..., ]]]]`

Returns the permutation `[n0, n1, n2, ..., ]`.

Example:

```a = Permutation[1, 2, 0]
p a**2 #=> [2, 0, 1]
p a**3 #=> [0, 1, 2]```
`::unity(d)`

Returns the unity of degree d.

`::cyclic2perm(c, n)`

Returns the Permutation represented by c : the array of arrays of cyclic permutations, where n is the degree. This method is the inverse of decompose_cyclic.

Example:

```Permutation.cyclic2perm([[1,6,5,4], [2,3]], 7) #=> [0, 6, 3, 2, 1, 4, 5]
Permutation[0, 6, 3, 2, 1, 4, 5].decompose_cyclic #=> [[1,6,5,4], [2,3]]```

## Methods:

`unity`

Returns the unity.

`perm`

Returns the array which represents self

`degree`

Returns the degree

`size`

Alias of degree.

`each`

Iterates for each entry.

`eql?(other)`

Returns true if self is equal to other.

`==`

Alias of eql?.

`hash`

Returns the hash number.

`[i]`

Returns the number to which i is transferrd.

`call`

Alias of [].

`index(i)`

Returns the number from which i is transferred.

`right_act(other)`

Returns the value multiplied by other from right. It follows `(g.right_act(h))[x] == h[g[x]]`.

`*`

Alias of right_act

`left_act(other)`

Returns the value multiplied by other from left. It follows `(g.left_act(h))[x] == g[h[x]]`.

`inverse`

Returns the inverse element.

`inv`

Alias of inverse.

`sign`

Returns the sign of self.

`conjugate(g)`

Returns the conjugate by g: `g * self * g.inv`.

`decompose_cyclic`

Returns the array of arrays of cyclic permutations. This is the inverse of ::cyclic2perm(c, n).

`to_map`

Returns the Map object of self.

`decompose_transposition`

Decompose into the array of the transpositions.