logo
Самоучитель по Maple

47. Пакет для работы со списками ListTools

Пакет для работы со списками ListTools

Новый пакет ListTools содержит ряд полезных команд для работы со списками. Их набор представлен ниже:

> with(ListTools):

Warning, the assigned name Group now has a global binding

[BinaryPlace, BinarySearch, Categorize, DotProduct, FindRepetitions, Flatten, FlattenOnce, Group, Interleave, Join, JoinSequence, MakeUnique, Pad, PartialSums, Reverse, Rotate, Sorted, Split, Transpose ]

Пакет содержит набор известных функций для работы со списками, например скалярного умножения списков, их обращения, транспонирования, поворота, объединения и т. д. Ограничимся примером на вычисление скалярного произведения векторов:

> L := [0., .84, .91, .14, -.76, -.96, -.28, .66, .99, .41, -.54]:

L := [0., .84, .91, .14, -.76, -.96, -.28, .66, .99, .41, -.54]

> М := [1., .54, -.42, -.99, -.65, .28, .96, .75, -.15, -.91, -.84];

М:= [ 1., .54, -.42, -.99, -.65, .28, .96, .75, -.15, -.91, -.84]

> DotProduct(L, L):

5.0063

> DotProduct(L, M):

.3162

Другие новые пакеты, CurveFitting и LinearFunctionalSystem, мы рассмотрели ранее достаточно подробно (см. уроки 14 и 15). В целом надо отметить, что состав пакетов Maple 7 существенно расширен по сравнению с предшествующими версиями системы. В то же время все пакеты, вошедшие в состав Maple 6, сохранены в новой версии программы — Maple 7, что гарантирует полную совместимость с ней. Практически это было подтверждено проверкой всех (а их многие сотни) примеров применения системы Maple 6 применительно к новой версии Maple 7.