Getting all permutations (symmetric group)
System.out.println(Permutation.symmetricGroup(5).count()); // => 120
Shuffling an array
String[] a = {"Check", "out", "this", "swish", "library"}; a = Permutation.random(a.length).apply(a); System.out.println(Arrays.toString(a)); // => [this, library, Check, swish, out]
Composition
Permutation s02 = Transposition.swap(0, 2).toPermutation(); Permutation s01 = Transposition.swap(0, 1).toPermutation(); System.out.println(s02.compose(s01).apply("bca")); // = > abc
Sorting, cycles
Permutation s = Permutation.sorting("Hello world!"); System.out.println(s.toCycles()); // => (0 2 5) (1 4 8 10 3 6 11) (7 9)
See also the javadoc
Maven
<dependency> <groupId>com.github.methylene</groupId> <artifactId>sym</artifactId> <version>2.0.3</version> </dependency>