Иллюстрированный самоучитель по Mathematica 3/4

Дискретные перестановки (Permutations). Решение рекуррентных разностных уравнений (RSolve).

В подпакете Permutations определен ряд функций дискретных перестановок:

  • RandomPermutation [n] – случайные перестановки из n элементов;
  • Ordering [list] – дает перестановки в установленном списком list порядке;
  • ToCycles [perm] – дает циклическую декомпозицию для списка list;
  • FromCycles [ {cic1, cic2,…}] – возвращает перестановки из циклических декомпозиций cic1, cic2,…;
  • PermutationQ [list] – возвращает True, если список list представляет перестановки, и False в ином случае.

Работа функций поясняется следующими примерами:

<<DiscreteMath`Permutations`
  
RandomPermutation[16]
{16, 12, 11, 5, 3, 4, 9, 14, 2, 8, 15, 1, 13, 7, 10, 6}
  
ToCycles[%]
{{16, 6, 4, 5, 3, 11, 15, 10, 8, 14, 7, 9, 2, 12, 1}, {13}}
  
FromCycles[%]
{16, 12, 11, 5, 3, 4, 9, 14, 2, 8, 15, 1, 13, 7, 10, 6}
  
Ordering[%]
{12, 9, 5, 6, 4, 16, 14, 10, 7, 15, 3, 2, 13, 8, 11, 1}

Решение рекуррентных разностных уравнений (RSolve)

Для решения рекуррентных разностных уравнений в подпакет RSolve введены следующие функции:

  • RSolve [eqn, a [n], n] – решает рекуррентное уравнение для а [n];
  • RSolve [eqn, a, n] – решает рекуррентное уравнение для функции а;
  • RSolvet {eqn1, eqn2,…}, {a1, a2,…},n] – решает систему рекуррентных уравнений, представленных списками.

Ниже представлены примеры применения данных функций:

<< DiscreteMath`RSolve`
  
RSolve[a[n+1] == 2 a[n], a[n], n]
{{a[n] > 2nC[1]}}
  
RSolve[a[n] == a[n-1] + a[n-2], a[0] == a[1] == 1, a[n], n]
  
RSolve[ a[0] == a[1] == 2,
(n+1) (n+2) a[n+2] - 2 (n+1) a[n+1] - 3 a[n] == 0, a[n], n]
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.