Пакет для работы со списками 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.