File: README

package info (click to toggle)
maxima 5.47.0-9
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 193,104 kB
  • sloc: lisp: 434,678; fortran: 14,665; tcl: 10,990; sh: 4,577; makefile: 2,763; ansic: 447; java: 328; python: 262; perl: 201; xml: 60; awk: 28; sed: 15; javascript: 2
file content (38 lines) | stat: -rw-r--r-- 1,781 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Robert Dodier, February 2006:
-----------------------------
There were two files here which implemented two versions of a
permutation function, both of which are superseded by the permutation
function in maxima/src/nset.lisp.

Jaime Villate, November 2017:
-----------------------------
I have added a package that implements some of the permutations
functions of Macsyma (with different names) and will implement many
more functions.

Since Maxima's nset package already includes functions permutations
and random_permutation which return permuted arrangements of a set or
list, I have used the name "perm" for permutations written as a list
of the first n positive integers without repetitions. Thus, perms(int)
will give the list of permutations of degree n, in contrast to
permutations(set) which gives that list of permutations applied to the
elements of a set.

Some differences with Macsyma: permutation_decomp has been named here
perm_cycles and perm_decomp is used for decomposition into the
generators of the permutation group (adjacent transpositions).
perm_cycles returns only cycles and no fixed points; i.e,
[[1,4,5],[3,6]] instead of [[1,4,5],[2],[3,6]].

perm_undecomp does not require a complete set of cycles and fixed
points, such as [[1,4,5],[2],[3,6],[7]]; it accepts just
[[1,4,5],[3,6]], but it needs an extra parameter, namely, the degree
of the group. For example: perm_undecomp([[1,4,5],[3,6]],7)

perms_lex returns the list of permutations of degree n in
lexicographic order, but unlike Macsyma's permutations_lex, the
argument should be just an integer (n) and not a permutation.
perms(n) gives tht complete list of permutations using a
minimum-change ordering, in which is permutation differs from the
previous one by just one adjacent transposition.