Given a permutation, coerce to word form and return the corresponding permutation matrix
perm_matrix(p)
is.perm_matrix(M)
pm_to_perm(M)
Permutation, coerced to word form, of length 1
Permutation matrix
Given a permutation p
of size \(s\), function
perm_matrix()
returns a square matrix with \(s\) rows and
\(s\) columns. Entries are either 0 or 1; each row and each column
has exactly one entry of 1 and the rest zero.
Row and column names of the permutation matrix are integers; this makes the printed version more compact.
Function pm_to_perm()
takes a permutation matrix and returns
the equivalent permutation in word form.
# NOT RUN { perm_matrix(rperm(1,9)) p1 <- rperm(1,40) M1 <- perm_matrix(p1) p2 <- rperm(1,40) M2 <- perm_matrix(p2) stopifnot(is.perm_matrix(M1)) stopifnot(all(solve(M1) == perm_matrix(inverse(p1)))) stopifnot(all(M1 %*% M2 == perm_matrix(p1*p2))) stopifnot(p1 == pm_to_perm(perm_matrix(p1))) data("megaminx") image(perm_matrix(permprod(megaminx)),asp=1,axes=FALSE) # }