Maxima branch_5_47_base_7_g39559bd_dirty Manual: Sums and Products

Next: Introduction to Series, Previous: Sums Products and Series, Up: Sums Products and Series [Contents][Index]

### 28.1 Sums and Products

関数: bashindices (expr)

  それぞれの和や積に独自のインデックスを与えることで、 式exprを変換します。 これは、 和や積と一緒に機能する時 `changevar`によりよい精度を与えます。 独自のインデックスの形式は`jnumber`です。 量numberは、`gensumnum`に参照することで決定されます。 これを、ユーザーは変更することができます。 例えば、`gensumnum:0$`はそれを再設定します。

  Sums and products ·

関数: lsum (expr, x, L)

  Lの中のそれぞれの要素xに関するexprの和を表します。 もし引数Lがリストに評価されなければ、名詞形`'lsum`が返されます。

  例:

      (%i1) lsum (x^i, i, [1, 2, 7]);
                                  7    2
      (%o1)                      x  + x  + x
      (%i2) lsum (i^2, i, rootsof (x^3 - 1, x));

                           ====
                           \      2
      (%o2)                 >    i
                           /
                           ====
                                         3
                           i in rootsof(x  - 1, x)

  Sums and products ·

関数: intosum (expr)

  和の外側の掛け算因子を内側に移動します。 もし外側の式でインデックスが使われているなら、 関数は、`sumcontract`に関してするのと同じように、合理的なインデックスを見つけようとします。 これは、本質的に、和の`outative`プロパティの逆の考えですが、 このプロパティを取り除かず、ただ無視するだけであることに注意してください。

  いくつかの場合、 `intosum`の前に、`scanmap (multthru, expr)`が必要になるかもしれません。

  Expressions ·

関数: product (expr, i, i_0, i_1)

  インデックスiがi_0からi_1まで変えたexprの値の積を返します。 名詞形`'product`は、大文字Πとして表示されます。

  `product`は、exprと下限上限i_0、i_1を評価し、 `product`は、インデックスiをクォートします（評価しません）。

  もし上限と下限が整数差だけ違うなら、 exprは、インデックスiのそれぞれの値に関して評価され、 結果は陽な積です。

  そうでなければ、インデックスの範囲は不定です。 積を整理するためにいくつかの規則が適用されます。 グローバル変数`simpproduct`が`true`の時、 更なる規則が適用されます。 いくつかの場合、式整理は、積でない結果を出力します; そうでなければ、結果は名詞形`'product`です。

  `nouns`と`evflag`も参照してください。

  例:

      (%i1) product (x + i*(i+1)/2, i, 1, 4);
      (%o1)           (x + 1) (x + 3) (x + 6) (x + 10)
      (%i2) product (i^2, i, 1, 7);
      (%o2)                       25401600
      (%i3) product (a[i], i, 1, 7);
      (%o3)                 a  a  a  a  a  a  a
                             1  2  3  4  5  6  7
      (%i4) product (a(i), i, 1, 7);
      (%o4)          a(1) a(2) a(3) a(4) a(5) a(6) a(7)
      (%i5) product (a(i), i, 1, n);
                                   n
                                 /===\
                                  ! !
      (%o5)                       ! !  a(i)
                                  ! !
                                 i = 1
      (%i6) product (k, k, 1, n);
                                     n
                                   /===\
                                    ! !
      (%o6)                         ! !  k
                                    ! !
                                   k = 1
      (%i7) product (k, k, 1, n), simpproduct;
      (%o7)                          n!
      (%i8) product (integrate (x^k, x, 0, 1), k, 1, n);
                                   n
                                 /===\
                                  ! !    1
      (%o8)                       ! !  -----
                                  ! !  k + 1
                                 k = 1
      (%i9) product (if k <= 5 then a^k else b^k, k, 1, 10);
                                    15  40
      (%o9)                        a   b

  Sums and products ·

オプション変数: simpsum

  デフォルト値: `false`

  `simpsum`が`true`の時、 `sum`の結果は、整理されます。 この整理は、時々、閉形式を生成することができるかもしれません。 もし`simpsum`が`false`もしくは、もしクォートされた形`'sum`が使われたなら、 値は、数学で使われるΣ表示の表現である和の名詞形です。

  Sums and products ·Simplification flags and variables ·

関数: sum (expr, i, i_0, i_1)

  インデックスiがi_0からi_1まで変えたexprの値の和を返します。 名詞形`'sum`は、大文字Σとして表示されます。

  `sum`は、被和exprと下限上限i_0、i_1を評価し、 `sum`は、インデックスiをクォートします（評価しません）。

  もし上限と下限が整数差だけ違うなら、 被和exprは、インデックスiのそれぞれの値に関して評価され、 結果は陽な和です。

  そうでなければ、インデックスの範囲は不定です。 積を整理するためにいくつかの規則が適用されます。 グローバル変数`simpsum`が`true`の時、 更なる規則が適用されます。 いくつかの場合、式整理は、和でない結果を出力します; そうでなければ、結果は名詞形`'sum`です。

  `evflag`(評価フラグ) `cauchysum`が`true`の時、 和の積は、コーシー積として表現されます。 コーシー積では、内側の和のインデックスは、独立に変化するのではなく、外側の和のインデックスの関数になります。

  グローバル変数`genindex`は、 和の次のインデックスを生成するのに使われるアルファベット前置です。

  `gensumnum`は、 自動生成されるインデックスが必要な時、 和の次のインデックスを生成するのに使われる数値接尾です。 `gensumnum`が`false`の時, 自動生成されるインデックスは、接尾なしの`genindex`のみです。

  `sumcontract`, `intosum`, `bashindices`, `niceindices`, `nouns`, `evflag`, `zeilberger`も参照してください。

  例:

      (%i1) sum (i^2, i, 1, 7);
      (%o1)                          140
      (%i2) sum (a[i], i, 1, 7);
      (%o2)           a  + a  + a  + a  + a  + a  + a
                       7    6    5    4    3    2    1
      (%i3) sum (a(i), i, 1, 7);
      (%o3)    a(7) + a(6) + a(5) + a(4) + a(3) + a(2) + a(1)
      (%i4) sum (a(i), i, 1, n);
                                  n
                                 ====
                                 \
      (%o4)                       >    a(i)
                                 /
                                 ====
                                 i = 1
      (%i5) sum (2^i + i^2, i, 0, n);
                                n
                               ====
                               \       i    2
      (%o5)                     >    (2  + i )
                               /
                               ====
                               i = 0
      (%i6) sum (2^i + i^2, i, 0, n), simpsum;
                                    3      2
                         n + 1   2 n  + 3 n  + n
      (%o6)             2      + --------------- - 1
                                        6
      (%i7) sum (1/3^i, i, 1, inf);
                                  inf
                                  ====
                                  \     1
      (%o7)                        >    --
                                  /      i
                                  ====  3
                                  i = 1
      (%i8) sum (1/3^i, i, 1, inf), simpsum;
                                      1
      (%o8)                           -
                                      2
      (%i9) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf);
                                    inf
                                    ====
                                    \     1
      (%o9)                      30  >    --
                                    /      2
                                    ====  i
                                    i = 1
      (%i10) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf), simpsum;
                                        2
      (%o10)                       5 %pi
      (%i11) sum (integrate (x^k, x, 0, 1), k, 1, n);
                                  n
                                 ====
                                 \       1
      (%o11)                      >    -----
                                 /     k + 1
                                 ====
                                 k = 1
      (%i12) sum (if k <= 5 then a^k else b^k, k, 1, 10);
                10    9    8    7    6    5    4    3    2
      (%o12)   b   + b  + b  + b  + b  + a  + a  + a  + a  + a

  Sums and products ·

関数: sumcontract (expr)

  定数だけ異なる上限と下限を持つ足し算の和すべてを結合します。 結果は、 そんな和のそれぞれの集合が、この和を形成するよう抽出されなければならないすべての適切な余分の項に加えられた１つの和を含む式です。 `sumcontract`は、互換性のある和すべてを結合し、 可能なら和の１つからインデックスの１つを使い、もし供給されたどれもが使えないなら、合理的なインデックスを形成するよう試みます。

  `sumcontract`の前に、`intosum (expr)`を実行する必要があるかもしれません。

  Sums and products ·

オプション変数: sumexpand

  デフォルト値: `false`

  `sumexpand`が`true`の時、 和の積と、指数和は、入れ子の和に整理されます。

  `cauchysum`も参照してください。

  例:

      (%i1) sumexpand: true$
      (%i2) sum (f (i), i, 0, m) * sum (g (j), j, 0, n);

                           m      n
                          ====   ====
                          \      \
      (%o2)                >      >     f(i1) g(i2)
                          /      /
                          ====   ====
                          i1 = 0 i2 = 0

      (%i3) sum (f (i), i, 0, m)^2;
                           m      m
                          ====   ====
                          \      \
      (%o3)                >      >     f(i3) f(i4)
                          /      /
                          ====   ====
                          i3 = 0 i4 = 0

  Sums and products ·Simplification flags and variables ·

Next: Introduction to Series, Previous: Sums Products and Series, Up: Sums Products and Series [Contents][Index]