A partition of a positive integer n is a decreasing sequence [n1, n2, ..., nk] of positive integers such that ∑(ni)=n. The ni are called the parts of the partition.
All partition functions in Magma operate only on small, positive integers.
Given a positive integer n, return the total number of partitions of n.
Given a positive integer n, return the sequence of all partitions of n.
Given positive integers n and k, return the sequence of all the partitions of n into k parts.
Given a positive integer n and a set of positive integers M, return the sequence of all partitions of n, where the parts are restricted to being elements of the set M.
Given positive integers n and k, and a set of positive integers M, return the sequence of all partitions of n into k parts, where the parts are restricted to being elements of the set M.
Given a positive integer n and a sequence of positive integers w, return the sequence of all weighted partitions of n with weights w, that is all sequences a1, ..., am such that ∑i wi ai = n.
A sequence S is considered to be a partition if it consists of weakly decreasing positive integers. A sequence is allowed to have trailing zeros, and the empty sequence is accepted as a partition (of zero).
Returns a weakly decreasing sequence of positive integers which is random partition of the positive integer n.
Given a sequence of positive integers P which is a partition, return a positive integer which is the sum of it's parts.
Given a sequence of positive integers P which is a partition, return its lexicographical order among partitions of the same weight.Lexicographical ordering of partitions is such that for partitions P1 and P2, then P1 > P2 implies that P1 is greater in the first part which differs from P2. The first index is zero.
> PartitionToElt := function(G, p)
> x := [];
> s := 0;
> for d in p do
> x cat:= Rotate([s+1 .. s+d], -1);
> s +:= d;
> end for;
> return G!x;
> end function;
>
> ConjClasses := function(n)
> G := Sym(n);
> return [ PartitionToElt(G, p) : p in Partitions(n) ];
> end function;
>
> ConjClasses(5);
[
(1, 2, 3, 4, 5),
(1, 2, 3, 4),
(1, 2, 3)(4, 5),
(1, 2, 3),
(1, 2)(3, 4),
(1, 2),
Id($)
]
> Classes(Sym(5));
Conjugacy Classes
-----------------
[1] Order 1 Length 1
Rep Id($)
[2] Order 2 Length 10
Rep (1, 2)
[3] Order 2 Length 15
Rep (1, 2)(3, 4)
[4] Order 3 Length 20
Rep (1, 2, 3)
[5] Order 4 Length 30
Rep (1, 2, 3, 4)
[6] Order 5 Length 24
Rep (1, 2, 3, 4, 5)
[7] Order 6 Length 20
Rep (1, 2, 3)(4, 5)
> coins := {5, 10, 20, 50};
> T := [#RestrictedPartitions(n, coins) : n in [0 .. 100 by 5]];
> T;
[ 1, 1, 2, 2, 4, 4, 6, 6, 9, 9, 13, 13, 18, 18, 24, 24, 31, 31, 39, 39, 49 ]
> F<t> := PowerSeriesRing(RationalField(), 101);
> &*[1/(1-t^i) : i in coins];
1 + t^5 + 2*t^10 + 2*t^15 + 4*t^20 + 4*t^25 + 6*t^30 + 6*t^35 + 9*t^40 + 9*t^45
+ 13*t^50 + 13*t^55 + 18*t^60 + 18*t^65 + 24*t^70 + 24*t^75 + 31*t^80 +
31*t^85 + 39*t^90 + 39*t^95 + 49*t^100 + O(t^101)