Learn R Programming

permutations (version 1.1-5)

conjugate: Are two permutations conjugate?

Description

Returns TRUE if two permutations are conjugate and FALSE otherwise.

Usage

are_conjugate(x, y)
are_conjugate_single(a,b)

Value

Returns a vector of Booleans

Arguments

x,y,a,b

Objects of class permutation, coerced to cycle form

Author

Robin K. S. Hankin

Details

Two permutations are conjugate if and only if they have the same shape. Function are_conjugate() is vectorized and user-friendly; function are_conjugate_single() is lower-level and operates only on length-one permutations.

The reason that are_conjugate_single() is a separate function and not bundled inside are_conjugate() is that dealing with the identity permutation is a pain in the arse.

See Also

conjugation,shape

Examples

Run this code

as.cycle("(123)(45)") %~% as.cycle("(89)(712)")  # same shape
as.cycle("(123)(45)") %~% as.cycle("(89)(7124)") # different shape

are_conjugate(rperm(20,3),rperm(20,3))

rperm(20,3) %~% as.cycle(1:3)

z <- rperm(300,4)
stopifnot(all(are_conjugate(z,id)==is.id(z)))

data(megaminx)
stopifnot(all(are_conjugate(megaminx,megaminx^as.cycle(sample(129)))))

Run the code above in your browser using DataLab