계산을 할 때, 여러 대상들을 모아서 하나의 개체로 취급하는게 편리한 경우가 많습니다. Maple에서는 list와 set이 그런 기능을 제공합니다.

list는 [ ]를 이용하여 만드는데, 벡터처럼 순서와 반복을 그대로 유지합니다. set은 { }를 이용해서 만들고, 집합처럼 순서와 반복을 무시합니다. 이걸 어디다 써 먹으면 좋을지는 알아서 생각하시고…… 저는 방법만 떠들겠습니다. (사실은 많이 써먹지 않은 놈들입니다, 저도…..)

> a:=[3,5,1,1];

> b:={3,5,1,1};

list와 set 를 다룰 때 자주 사용하는 함수로는 다음과 같은 것들이 있습니다.

nops(a)는 list 또는 set a 의 요소들의 갯수를 주며, map(f,a)는 함수 f 를 a의 각 요소들에 작용시킵니다. 또한 set과 set 의 사이에서는 기본적 으로 사용되는 집합에 대한 개념을 사용하시면 됩니다.

> nops(a);

> nops(b);

> {1,2,3,4} union {3,4,5,6};

> {1,2,3,4} intersect {3,4,5,6};

> {1,2,3,4} minus {3,4,5,6};

> a := [0,Pi/4,Pi/2,Pi];

> map(sin,a);

list중에서 각각의 요소를 대상으로 작업하여야 하는 경우도 있읍니다. 이때에는 a[n]과 같이 index를 이용하면 됩니다.

좀 더 다양한 작업을 하기 위해서는 op 함수를 이용할 수 있읍니다. 예를 들어 op(i,j,a) 는 a의 i번째부터 j번째까지의 요소들을 나열합니다.

> a:= [4,5,2,-1];

> a[1];

> a[3];

> op(1,a);

> op(3,a);

> op(1..3,a);

> op(2..4,a);

> op(a);