総積は階乗を一般化したものです。総積を作る関数product(exp,var,max)という式で、expの中のvarを自然数1~maxで変化させた時の全てのexpの積を表します。
次の式は、10の階乗と同じはずです。
(%i1) product(a,a,1,10);
$$ \tag{%o1} 3628800 $$
(%i2) 10!;
$$ \tag{%o2} 3628800 $$
ちゃんと一致しました。
次の式ではexpとして\( a[k] \)の中のkを1~nで変化させた全ての式の積です。nが決まっていないので計算は行われません。
(%i3) product(a[k],k,1,n);
$$ \tag{%o3} \prod_{k=1}^{n}{a_{k}} $$
この式でn=10であれば以下のようになります。
(%i4) %,n=10;
$$ \tag{%o4} \prod_{k=1}^{10}{a_{k}} $$
nが決まったので計算を進めることができます。
(%i5) %,nouns;
$$ \tag{%o5} a_{1}\,a_{2}\,a_{3}\,a_{4}\,a_{5}\,a_{6}\,a_{7}\,a_{8}\,a_{9}\,a_{10} $$
ここで具体的に\( a[n] = n \)とすれば、階乗の定義と一致します。
(%i6) %,a[n]:=n;
$$ \tag{%o6} 3628800 $$
(%i7)