Maximaではリストと呼ばれるデータ構造が多用されます。リストとは、数や式などを好きな個数だけ[ ]の中にカンマで区切って並べたものです。例えば、
(%i1) a:[1,2,3];
$$ \tag{%o1} \left[ 1 , 2 , 3 \right] $$
はリストです。aの値は[1, 2, 3]というリストになります。
今度はbという変数に以下のリストを作って代入します。
(%i2) b:[4,5,%pi,%e];
$$ \tag{%o2} \left[ 4 , 5 , \pi , e \right] $$
この中には円周率やネピア数も入っています。
この二つのリストを連結することができます。そのためにはappend()関数を使います。
(%i3) append(a,b);
$$ \tag{%o3} \left[ 1 , 2 , 3 , 4 , 5 , \pi , e \right] $$
ちゃんと繋がっていますね。
今度はaのリストの最初の要素とbのリストの3番目の要素から分数を一つ作ります。
(%i4) first(a)/third(b);
$$ \tag{%o4} \frac{1}{\pi} $$
リストを引数にとるrest()という関数を使うと、最初の要素を除いたリストを作ることができます。次の例ではaの2番目以降とbの2番目以降のリストを連結しています。
(%i5) append(rest(a),rest(b));
$$ \tag{%o5} \left[ 2 , 3 , 5 , \pi , e \right] $$
リストの長さを調べるにはlength()関数を使います。
(%i6) length(a);
$$ \tag{%o6} 3 $$
リストの最後の要素を得るにはlast()関数を使います。
(%i7) last(b);
$$ \tag{%o7} e $$
このようにリストを操作する関数は色々とあるので、マニュアルを調べて試してみて下さい。
ちょっと変わった書き方なのですが、bの値がリストの場合にその3番目の要素を取り出すには次のように書くことも出来ます。(これは別途ご紹介する配列のアクセスの記法と同じです)。
(%i8) b[3];
$$ \tag{%o8} \pi $$