# inverse

##### Inverse of a permutation

Calculates the inverse of a permutation in either word or cycle form

##### Usage

```
inverse(x)
# S3 method for word
inverse(x)
# S3 method for cycle
inverse(x)
inverse_word_single(W)
inverse_cyclist_single(cyc)
```

##### Arguments

- x
Object of class

`permutation`

to be inverted- W
In function

`inverse_word_single()`

, a vector corresponding to a permutation in word form (that is, one row of a`word`

object)- cyc
In function

`inverse_cyclist_single()`

, a cyclist to be inverted

##### Details

The package provides methods to invert objects of class `word`

(the R idiom is `W[W] <- seq_along(W)`

) and also objects of class
`cycle`

(the idiom is
`lapply(cyc,function(o){c(o[1],rev(o[-1]))})`

).

The user should use `inverse()`

directly, which dispatches to
either `inverse.word()`

or `inverse.cycle()`

as appropriate.

Sometimes, using idiom such as `x^-1`

or `id/x`

gives neater
code, although these may require coercion between word form and cycle
form.

##### Value

Function `inverse()`

returns an object of the same class as its argument.

##### See Also

##### Examples

```
# NOT RUN {
x <- rperm(10,6)
inverse(x)
all(is.id(x*inverse(x))) # should be TRUE
inverse(as.cycle(matrix(1:8,9,8)))
# }
```

*Documentation reproduced from package permutations, version 1.0-5, License: GPL-2*