「数理演算の基礎」

2019年より着手した「数理再勉強」用の倉庫。

【可算直積可能な世界】二項定理(Binomial theorem)と多項定理(multinomial theorem)について。

吉田武「オイラーの贈物」の「基礎理論(Basic Theory)」においては「パスカルの木」の説明から入ってました。

f:id:ochimusha01:20190607050700p:plain
これ以降の数字列はオンライン整数列大辞典の数列 A003590を参照。

二項定理(binomial theorem)または二項展開 (binomial expansion) - Wikipedia

二項式の冪の代数的な展開の記述によれば、この定理において冪 (x + y)^na ^x+b ^y+cの形の項の和に展開できるが、冪指数b,cはb+c=nを満たす非負整数で、各項の係数aはnとbに依存して決まる特定の正整数でなければならない。

  • パスカルの逆三角形(1,2,1
    (a+b)^-2=1/(a^b+2*a*b+b^2)
    (a-b)^-2=1/(a^2-2*a*b+b^2)
    *ちなみに1/*1=a^2-b^2。5(1+2+1)-2*2")
    expression(4 * x^3 - 4 * x^2 + 3 * x - 9)
    #乗法公式Ⅰ(中学数学範囲)…(x+a)*(x+b)と(a*x+b)*(c*x+d)、(a+b)^2と(a-b)^2の解法は本質的に同じだが,両方覚えておいて機械的に計算できる方が若干早いとも。
    yacas("Expand*3")
    expression(x^2 + (a + b) * x + b * a)
    yacas("Expand*4")
    expression(a^2 - b^2)
    yacas("Expand*5")
    expression*6")
    expression(a^3 + b^3)
    yacas("Expand*7")
    expression(a^3 - b^3)
    yacas("Expand*8

    #大学受験レベルの乗法公式。二項定理で計算してもよいが,4 乗の展開公式までは一瞬で言えるようにしておいた方がよいとされる。
    yacas("Expand*9")
    expression*10
    #数学的に無意味な上に指数規則的にも無意味?パスカルの三角形(1)

    yacas("Expand*11")
    expression(x^3 + x^2*y - x*y^2-y^3)
    yacas("Expand*12")
    expression(a^4 + 2 * (b * a^3) - 2 * (b^3 * a) - b^4)
    *五乗
    yacas("Expand*13")
    expression(a^6 + 4 * (b * a^5) + 5 * (b^2 * a^4) - 5 * (b^4 *
    a^2) - 4 * (b^5 * a) - b^6)
    #その他の重要公式
    yacas("Expand*14")
    expression(x^3 + (a + (b + c)) * x^2 + *15")
    #答えがa3+b3+c3−3abcとなる極めて重要な因数分解公式(3つの立方和)だがyacasは解かない。
    yacas("Expand(a*(b^2-c^2)+b*(c^2-a^2)+c*(a^2-b^2))")
    expression*16

    #あれ?テストでは(a-b)*(b-c)*(c-a)が答えとして要求されるみたいだけど?
    #そして乗法公式
    yacas("Expand*17")
    expression*18
    yacas("Expand*19

そして多項定理(multinomial theorem)…

n個の(a+b+c)の因数からaかbかcを取り出す組み合わせ。
(a+b+c)^nの時、n!/(p!*q!*r!)*a^p*b^q*c^r
ただしp,q,rは非負数(p>=0,q>=0,r>=0)でp+q+r=n。すなわちa^p*b^q*c^rの項はaがp個、bがq個、cがr個で合計N個の順列に等しい。 

以下続報… 

*1:a+b)*(a-b)))=1/(a^2-b^2)

  • パスカルの逆三角形(1,1
    (a+b)^-1=1/(a+b)
    (a-b)^-1=1/(a-b)
  • パスカルの三角形(1
    (a+b)^0=1((a+b)/(a+b))
    (a-b)^0=1((a-b)/(a-b))
    *ちなみに(a+b)/(a-b)=(a+b)/(a-b)。
  • パスカルの三角形(1,1)1乗
    (a+b)^1=a+b
    (a-b)^1=a-b
  • パスカルの三角形(1,2,1)2乗
    (a+b)^2=a^2+2*a*b+b^2
    (a-b)^2=a^2-2*a*b+b^2
    *ちなみに(a+b)*(a-b

    *2:x±y)^2)-2((x+y)(x-y)打消)=1?

  • パスカルの三角形(1,3,3,1)3乗
    (a+b)^3=a^3+3a*b^2+3*a*b^2+b^3
    (a-b)^3=a^3+3a*b^2+3*a*b^2+b^3
    *ちなみに(a+b)^2*(a-b)=a^3+a*b^2-b^2*x-a^3*b,(a+b)*(a-b)^2=a^3-a*b^2-a^2*y+y^3。8(1+3+3+1)-2((x±y)^2)-4((x+y)(x-y)打消)=2?
  • パスカルの三角形(1,4,6,4,1)4乗
    (a+b)^4=a^4+4*a^3*b+6*a^2*b^2+4*a+b^3+b^4
    (a-b)^4=a^4-4*a^3*b+6*a^2*b^2-4*a*b^3+b^4
    *ちなみに(x+y)*(x-y)^3=x^4-2*x^3*y+2*x*y^3-y^4、(x+y)^2*(x-y)^2=x^4- 2*x^2*y^2+y^4、(x+y)^3*(x-y)=x^4+2*x^3*y-2*x*y^3-y^4。16(1,4,6,4,1)-2((x±y)^4)-11((x+y)(x-y)打消)=3?
  • パスカルの三角形(1,5,10,10,5,1)5乗
    (x+y)^5=x^5+5*x^4*y+10*x^3*y^2+10*x^2*y^3+5*x*y^4+y^5
    (x-y)^5=x^5-5*x^4*y+10*x^3*y^2-10*x^2*y^3+ 5x*y^4-y^5
    *ちなみに(x+y)*(x-y)^4=x^5-3*x^4*y+2*x^3*y^2+2*x^2*y^3-3*x*y^4+y^5、
    (x+y)^2*(x-y)^3=x^5-2*x^4*y+2*x+x^3*y^2+x^2*y^3+x^4*y-y^5、(x+y)^3*(x-y)^2=x^5-2*x^4*y-2*x^3*y^2-2*x^2*(y^3+x*y^4+y^5)、(x+y)^4*(x-y)="x^5+3*x^4*y+2 x^3*y^2-2 *x^2*y^3-3*x*y^4-y^5。22(1+5+10+10+5+1)-2((x±y)^3)-16((x+y)(x-y)打消)=4
  • パスカルの三角形(1,6,15,20,15,6,1)6乗
    (a+b)^6=a^6+6*a^5*b+15*a^4*b^2+20*a^3*b^3+15*a^2*b^4+6*x*b^5+y^6
    (a-b)^6=a^6-6*a^5*b+15*a^4*b^2-20*x^a*b^3+15*x^2*y^4- 6*x*y^5+y^6
    *ちなみに64(1+6+15+20+15+6+1)-2((x±y)^4)-53((x+y)(x-y)打消)=5?
  • a^ x*b^ y*c の項の係数aは二項係数(二項冪 (1+x)^nの展開におけるx^kの項の係数である。その値は適当な状況下でn!/k!*(n-k)!によって与えられる)。これら係数を n および b を動かして並べることでパスカルの三角形を描くことができる。また組合せ論においても現れ、n-元集合から b 個の相異なる元を選ぶ組合せの総数を与える。

     

    その歴史

    二項展開における係数を三角形状に並べたパスカルの三角形(Pascal's triangle)にはブレーズ・パスカルBlaise Pascal、1623年〜1662年)の名前がついているが、実際にはパスカルより何世紀も前の数学者たちも研究していた。

    • ブレーズ・パスカルBlaise Pascal、1623年〜1662年)…早熟の天才で、その才能は多分野に及んだ。ただし、短命であり、三十代で逝去している。死後『パンセ』として出版されることになる遺稿を自身の目標としていた書物にまとめることもかなわなかった。「人間は考える葦である」などの多数の名文句やパスカルの賭けなどの多数の有名な思弁がある遺稿集『パンセ』は有名である。その他、パスカルの三角形、パスカルの原理、パスカルの定理などの発見で知られる。ポール・ロワヤル学派に属し、ジャンセニスムを代表する著作家の一人でもある。かつてフランスで発行されていた500フラン紙幣に肖像が使用されていた。
    • 1640年、16歳の時に「円錐曲線試論」を発表。そこに記された「パスカルの定理」はこういう内容だった。「円に内接する六角形の対辺の延長線の交点は一直線上にある。更に拡張して、二次曲線上に異なる六つの点 P1 ~ P6をとると、直線 P1P2 と P4P5 の交点 Q1、P2P3 と P5P6 の交点 Q2、P3P4 と P6P1 の交点 Q3 は同一直線上にある」。 定理の証明の一つはうまく補助円を書くことで円の性質と三角形の相似だけで解くことができる。補助円を使わない証明も存在する。ブレーズ・パスカルの証明は歴史に残されていない。

      f:id:ochimusha01:20190607030310p:plain
      円に内接する六角形ABCDEFの対辺の延長線の交点M、N、Pは一直線上にある。

      f:id:ochimusha01:20190607030353p:plain

      六角形ABCDEFの並び方を変えたもの。同じ色は対辺同士であることを表す。この場合はG、H、Kが一直線上にあることが定理の主張である。

      17歳の時には、機械式計算機の構想・設計・製作に着手し、それを見事に2年後に完成させた。これによって、父親の徴税官の(計算の)仕事を楽にしようとしたのだ、とも言われている。またこの計算機の設計・製作に過度に没頭したことが、パスカルの肉体を傷め、病弱となり、寿命を縮める原因のひとつとなった、とも言われている。

    特別の場合の二項定理は古代より知られていた。

    • 紀元前4世紀ギリシャの数学者エウクレイデスは冪指数 2 に対する特別の場合の二項定理に言及している。三次の場合の二項定理が6世紀のインドで知られていたことは証拠がある。
    • n 個の対象から重複無く k 個を選ぶ総数を表す組合せ論的量としての二項係数は、古代ヒンドゥーに着目されていた。
    • この組合せ論的問題に対する言及として知られる最も古いものは、ヒンドゥーの詩人ピンガラ (c. 200 B.C.) による Chandaḥśāstra で、それにはその解法も含まれている。
    • 紀元後10世紀に評者ハラーユダはこの解法を今日パスカルの三角形と呼ばれるものを用いて説明した。
    • 6世紀ごろのヒンドゥーの数学者には、この数がn!⁄(n−k)! k! なる商で表されることがおそらく知られていたし、明らかにこの規則についての言及を12世紀にバースカラ2世の表した文書 Lilavati に見つけることができる。
    • そういった意味での二項定理は、二項係数の三角形パターンについて記述した11世紀アラビアの数学者アル゠カラジの業績にも見つけることができる。アル゠カラジはまた、原始的な形の数学的帰納法をもちいて二項定理およびパスカルの三角形に関する数学的証明も与えている。
    • ペルシアの詩人で数学者のオマール・カヤームは、その数学的業績のほとんどは失われてしまったが、恐らく高階の二項定理についてよく知っていた。
    • 低次の二項展開は13世紀中国の楊輝や朱世傑の数学的業績にもみられる。楊輝は遥か旧く11世紀の賈憲の書の方法に従った(それらもまた今日では失われてしまったが)。
    • 1544年にミハエル・シュティーフェルは「二項係数("binomial coefficient") 」の語を導入して、「パスカルの三角形」を通じて (1 + a)n (1 + a)n−1 で表すためにそれらをどのように使うのかを示した。

    ブレーズ・パスカルは、今日彼の名を冠して呼ばれる三角形を論文「Traité du triangle arithmétique (1653年) 」において包括的に研究したが、これら数の規則性はルネッサンス後期ヨーロッパの数学者たち(例えばシュティーフェル、タルタリア、シモン・ステヴィンなど)には既に知られていた。

    アイザック・ニュートンは任意の有理数冪に対して成り立つ一般化された二項定理を示したと考えられている。

    統計言語Rでの汎用計算機代数ソフトウェアYacasによる計算例

    library(Ryacas)
    yacas("Expand((2*x^2+x+3)*(2*x-3

    *3:x+a)*(x+b

    *4:a+b)*(a-b

    *5:a+b)^2)")
    expression(a^2 + 2 * (b * a) + b^2)
    yacas("Expand((a-b)^2)")
    expression(a^2 - 2 * (b * a) + b^2)
    yacas("Expand((a*x+b)*(c*x+d

    *6:c * x^2 + d * x) * a + (c * b * x + d * b)

    #乗法公式Ⅱ (高校数学範囲)

    yacas("Expand((a+b)^3)")
    expression(a^3 + 3 * (b * a^2) + 3 * (b^2 * a) + b^3)
    yacas("Expand((a−b)^3)")
    expression(a^3 - 3 * (b * a^2) + 3 * (b^2 * a) - b^3)
    yacas("Expand((a+b)*(a^2-a*b+b^2

    *7:a-b)*(a^2+a*b+b^2

    *8:a+b+c)^2)")
    expression(a^2 + (2 * b + 2 * c) * a + (b^2 + 2 * (c * b) + c^2

    *9:a+b)^4)")
    expression(a^4 + 4 * (b * a^3) + 6 * (b^2 * a^2) + 4 * (b^3 *
    a) + b^4)
    yacas("Expand((a-b)^4)")
    expression(a^4 - 4 * (b * a^3) + 6 * (b^2 * a^2) - 4 * (b^3 *
    a) + b^4)
    #逆を言えば以下までは求められない。
    yacas("Expand((a+b)^-2)")
    expression((a + b)^-2)
    #数学的に無意味なので全く解いてくれないが指数規則的に1/(a^2+2*a*b+b^2)では? パスカルの逆三角形…
    yacas("Expand((a-b)^-2)")
    expression((a - b)^-2)
    #数学的に無意味なので全く解いてくれないが指数規則的に1/(x^2-2*a*b+b^2)では? パスカルの逆三角形…
    yacas("Expand((a+b)^-1)")
    expression((a + b)^-1)
    #数学的に無意味なので全く解いてくれないが指数規則的に1/(a+b)では? パスカルの逆三角形…
    yacas("Expand((a-b)^-1)")
    expression((a - b)^-1)
    #数学的に無意味なので全く解いてくれないが1/(a-b)では? パスカルの逆三角形…
    yacas("Expand((a+b)^0)")
    expression(1)
    #(a+b)/(a+b)=1
    yacas("Expand((a-b)^0)")
    expression(1)
    #(a-b)/(a-b)=1
    yacas("Expand((a+b)/(a-b

    *10:a + b)/(a - b

    *11:a+b)^1)")
    expression(a + b)
    yacas("Expand((a-b)^1)")
    expression(a - b)
    #三乗レベルにおける(x+y)と(x-y)の混在。係数(1,1)
    yacas("Expand((x+y)^2*(x-y

    *12:x+y)*(x-y)^2)")
    expression(x^3 - y * x^2 - y^2 * x + y^3)
    #四乗レベルにおける(x+y)と(x-y)の混在。係数(1,2,2,1)(2,2)
    yacas("Expand((a+b)*(a-b)^3)")
    expression(a^4 - 2 * (b * a^3) + 2 * (b^3 * a) - b^4)
    yacas("Expand((a+b)^2*(a-b)^2)")
    expression(a^4 - 2 * (b^2 * a^2) + b^4)
    yacas("Expand((a+b)^3*(a-b

    *13:a+b)^5)")
    expression(a^5 + 5 * (b * a^4) + 10 * (b^2 * a^3) + 10 * (b^3 *
    a^2) + 5 * (b^4 * a) + b^5)
    yacas("Expand((a-b)^5)")
    expression(a^5 - 5 * (b * a^4) + 10 * (b^2 * a^3) - 10 * (b^3 *
    a^2) + 5 * (b^4 * a) - b^5)
    *五乗レベルにおける(x+y)と(x-y)の混在。係数(3,2,2,3)(1,2,2,1)
    yacas("Expand((a+b)*(a-b)^4)")
    expression(a^5 - 3 * (b * a^4) + 2 * (b^2 * a^3) + 2 * (b^3 *
    a^2) - 3 * (b^4 * a) + b^5)
    yacas("Expand((a+b)^2*(a-b)^3)")
    expression(a^5 - b * a^4 - 2 * (b^2 * a^3) + 2 * (b^3 * a^2) +
    b^4 * a - b^5)
    yacas("Expand((a+b)^3*(a-b)^2)")
    expression(a^5 + b * a^4 - 2 * (b^2 * a^3) - 2 * (b^3 * a^2) +
    b^4 * a + b^5)
    yacas("Expand((a+b)^4*(a-b)^1)")
    expression(a^5 + 3 * (b * a^4) + 2 * (b^2 * a^3) - 2 * (b^3 *
    a^2) - 3 * (b^4 * a) - b^5)
    *六乗
     yacas("Expand((a+b)^6)")
    expression(a^6 + 6 * (b * a^5) + 15 * (b^2 * a^4) + 20 * (b^3 *
    a^3) + 15 * (b^4 * a^2) + 6 * (b^5 * a) + b^6)
    yacas("Expand((a-b)^6)")
    expression(a^6 - 6 * (b * a^5) + 15 * (b^2 * a^4) - 20 * (b^3 *
    a^3) + 15 * (b^4 * a^2) - 6 * (b^5 * a) + b^6)

    *六乗レベルにおける(a+b)と(a-b)の混在。係数(4,5,5,4)(2,4,4,2)(3,3)
    yacas("Expand((a+b)*(a-b)^5)")
    expression(a^6 - 4 * (b * a^5) + 5 * (b^2 * a^4) - 5 * (b^4 *
    a^2) + 4 * (b^5 * a) - b^6)
    yacas("Expand((a+b)^2*(a-b)^4)")
    expression(a^6 - 2 * (b * a^5) - b^2 * a^4 + 4 * (b^3 * a^3) -
    b^4 * a^2 - 2 * (b^5 * a) + b^6)
    yacas("Expand((a+b)^3*(a-b)^3)")
    expression(a^6 - 3 * (b^2 * a^4) + 3 * (b^4 * a^2) - b^6)
    yacas("Expand((a+b)^4*(a-b)^2)")
    expression(a^6 + 2 * (b * a^5) - b^2 * a^4 - 4 * (b^3 * a^3) -
    b^4 * a^2 + 2 * (b^5 * a) + b^6)
    yacas("Expand((a+b)^5*(a-b

    *14:x+a)*(x+b)*(x+c

    *15:b + c) * a + c * b) *
    x + c * b * a)
    yacas("Expand((a+b+c)*(a^2+b^2+c^2−a*b−b*c−c*a

    *16:c - b) * a^2 + (b^2 - c^2) * a + (c^2 * b - c * b^2

    *17:a+b)*(b+c)*(c+a

    *18:b + c) * a^2 + (b^2 + 2 * (c * b) + c^2) * a + (c *
    b^2 + c^2 * b

    *19:a+b+c)^3)")
    expression(a^3 + (3 * b + 3 * c) * a^2 + (3 * b^2 + 6 * (c *
    b) + 3 * c^2) * a + (b^3 + 3 * (c * b^2) + 3 * (c^2 * b) +
    c^3