Пакеты функций комбинаторики
Пакет combinat
Функции комбинаторики достаточно известны из обычного курса математики. При вызове пакета выводится (если вывод не заблокирован двоеточием) список его функций:
> with(combinat); Warning, the protected name Chi has been redefined and unprotected [Chi,bell, binomialcartprod, character, choose, composition, conjpart, decodepart, encodepart,fibonacci,firstpart, graycode, inttovec, lastpart, multinomial, nextpart, numbcomb, numbcomp, numbpart, numbperm, partition, permute, powerset, prevpart, randcomb, randpart, randperm, stirling1, stirling2, subsets, vectoint]
Ввиду важности функций комбинаторики приведем их полные определения:
- Chi(x) – гиперболический косинусный интеграл;
- bell(n) – возвращает число ехр(ехр(х)-1) =sum(ben(n)/n!*x^n, n=0..infinity), причем для вычислении используется рекуррентное соотношение bell(n+1) = (bell(n)+1)^n;
- binomial (n, r) – возвращает биноминальные коэффициенты, причем, если n и r – целые числа, удовлетворяющие условию 0 <= r<= n, то функция возвращает C(n.r)=n1/(r1(n-r)1), а в общем случае С(n, r) = limit(GAMMA(N+D/ GAMMA(R+1)/GAMMA(N-R-t-1),R=r,N=n);
- composition(n, k) – возвращает списки композиций для целых неотрицательных n и k;
- fibonacci(n) – возвращает числа Фибоначчи, вычисляемые по рекуррентной формуле F(n) =F(n -1) +F(n -2), где F(0) =0 и F(1) =1;
- fibonacci(n, х) – возвращает значение полинома Фибоначчи F(n, x) =-х F(n -1,x) + F(n -2, х), где F(0,x) = 0 и F(l,x) = 1, при этом F(n) = F(n, 1);
- firstpart(n) – возвращает первую часть канонической последовательности ряда;
- nextpart(1) – возвращает следующую часть канонической последовательности ряда;
- lastpart(n) – возвращает последнюю часть канонической последовательности ряда;
- prevpart(1) – возвращает предыдущую часть канонической последовательности ряда;
- conjpart(1) – возвращает объединенный раздел в канонической последовательности ряда;
- graycode(n) – возвращает список кодов Грея для габитовых чисел;
- multinomial (n, k1, k2,… .km) – возвращает мультиноминальные коэффициенты;
- numbcomb(n) и numbcomb(n .m) – возвращает число комбинаций;
- numbcomp(n, k) – возвращает число композиций;
- numbpart(n) – возвращает список всех возможных сумм, дающих n;
- permute(n) и permute(n, r) – возвращает numbperm(n, r) = nops(permute(n .r));
- powerset(s) – возвращает степень множества в множестве s;
- randcomb(n, m) – возвращает случайную комбинацию;
- randpart(n) – возвращает случайную часть;
- randperm(n) – возвращает случайную композицию;
- stirling(n, m) – возвращает число Стирлинга первого рода;
- stirling2(n, m) – возвращает число Стирлинга второго рода;
- subsets(L) – задает итерационную процедуру над степенями множества или списка L;
- vectoint(1) – возвращает индекс вектора канонического упорядочения 1;
- inttovec(m, n) – возвращает вектор канонического упорядочения для неотрицательных целых чисел тип.