空積のソースを表示
←
空積
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[数学]]における'''空積'''(くうせき、{{lang-en-short|empty product}})あるいは'''零項積''' (nullary product) は、{{math|0}} 個の因子を[[乗算|掛けた]]結果である。(考えている乗法演算に[[乗法単位元|単位元]]が存在する場合に限り)「空積の値は単位元 [[1]] に等しい」という規約を設ける<ref>{{cite book |author=Jaroslav Nešetřil, [[Jiří Matoušek (mathematician)|Jiří Matoušek]] |title=Invitation to Discrete Mathematics |publisher=Oxford University Press |year=1998 |isbn=0-19-850207-9 |pages=12}}</ref><ref>{{cite book |author=A.E. Ingham and R C Vaughan |title=The Distribution of Prime Numbers |publisher=Cambridge University Press |year=1990 |isbn=0-521-39789-8 |pages=1}}</ref><ref>Page 9 of {{Lang Algebra|edition=3r}}</ref><ref>{{cite book | last = Grillet | first = Pierre A | year = 1995 | title = Semigroups: An Introduction to the Structure Theory | isbn = 978-0824796624 | ref = harv}}</ref>。このことは、[[空和]](すなわち0個の数を[[加法|足した]]結果)が[[加法単位元|零元]] [[0]] に等しいと約束することと同様である。 用語 "空積" は[[算術|算術的]]演算を議論するときに上の意味で使われることが多い。しかしながら、この用語は集合論の共通部分、圏論の積、コンピュータプログラミングにおける積に対しても使われる。これらは以下で議論される。 == 零項算術積 == === 正当化 === {{math|''a''<sub>1</sub>, ''a''<sub>2</sub>, ''a''<sub>3</sub>, …}} を[[数列|数の列]]とし、 :<math>P_m = \prod_{i=1}^m a_i = a_1 \dotsb a_m </math> をこの列の最初の {{mvar|m}}-項の積とする。このとき :<math>P_m = a_m \cdot P_{m-1}</math> がすべての {{math|''m'' {{=}} 1, 2, …}} に対して成り立つというためには、{{math|''P''{{sub|1}} {{=}} ''a''{{sub|1}}}} および {{math|''P''{{sub|0}} {{=}} 1}} とするという規約が必要である。これはつまり、ただ一つの因子からなる "積" {{math|''P''{{sub|1}}}} の値はその因子自身であり、全く因子を持たない "積" {{math|''P''{{sub|0}}}} の値は {{math|1}} とするということである。一つだけあるいは零個の因子の "積" を許すことで、多くの数学的な公式において考慮すべき場合の数を減らすことができるようになる。そのような "積" は[[数学的帰納法]]やアルゴリズムにおける起点として自然に現れる。これらの理由のため「空積の値は {{math|1}} であるものと約束する」ことは数学やコンピュータプログラミングにおいて常識である。 === 空積を定義することの妥当性 === 空積の概念は、数 [[0]] や[[空集合]]が有用なのと同じ理由で有用である。全く面白くない概念を表しているように見えるが、その存在によって多くの主題のはるかに短い数学的表示が可能になるのである。 例えば、{{math|0! {{=}} 1}} や {{math|''x''<sup>0</sup> {{=}} 1}} といった空積は、[[テイラー展開|テイラー級数表記]]を短くする({{math|''x'' {{=}} 0}} のときの議論は[[0の0乗]]を参照)。同様に、{{mvar|M}} が {{math|''n'' × ''n''}} 行列であれば、{{math|''M''<sup>0</sup>}} は {{math|''n'' × ''n''}} [[単位行列]]である。これは[[線型写像]]を零回適用することは[[恒等写像]]を適用することと同じ効果を持っているという事実を反映している。 別の例として、[[算術の基本定理]]は、すべての正の整数は素数の積として一意的に書けることを言っている。しかしながら、もし 0 個や 1 個の因子の積を許さなかったら、定理(と証明)は長くなる<ref>{{cite web |url=http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1073.html |title=How Computing Science created a new mathematical style |author=[[Edsger Wybe Dijkstra]] |date=1990-03-04 |work=EWD |accessdate=2010-01-20 | quote=Hardy and Wright: “Every positive integer, except 1, is a product of primes”, Harold M. Stark: “If n is an integer greater than 1, then either n is prime or n is a finite product of primes.”. These examples —which I owe to A.J.M. van Gasteren— both reject the empty product, the last one also rejects the product with a single factor. 訳:ハーディ・ライト:「1 を除いてすべての正の整数は素数の積である」、ハロルド・M・スターク:「n が 1 よりも大きい整数であれば、n は素数であるかまたは素数の有限個の積である。」これらの例は、私は A.J.M. van Gasteren に聞いたものであるが、どちらも空積を拒否しており、後者は因子がただ1つの積も拒んでいる。}}</ref><ref>{{cite web |url=http://userweb.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/EWD993.html |title=The nature of my research and why I do it |author=[[Edsger Wybe Dijkstra]] |date=1986-11-14 |work=EWD |accessdate=2010-07-03 | quote=But also 0 is certainly finite and by defining the product of 0 factors —how else?— to be equal to 1 we can do away with the exception: "If n is a positive integer, then n is a finite product of primes." 訳:しかし 0 もまた確かに有限であり、0 個の因子の積を 1 に等しいと定義することによって―他にどうやって?―例外を排除することができる:「n が正の整数であれば、n は素数の有限個の積である。」}}</ref>。 数学で空積を使用しているさらなる例は、[[二項定理]](これは任意の {{mvar|x}} に対して {{math|''x''<sup>0</sup> {{=}} 1}} であることを仮定し、かつそれを導く)、[[スターリング数]]、[[ケーニッヒの定理 (集合論)|ケーニッヒの定理]]、[[二項型多項式列]]、[[二項級数]]、[[有限差分]]、[[ポッホハマー記号]]において見つかるだろう。 === 対数 === 対数は積を和に変えるから、空積を[[空和]]に写すべきである。そして空積を {{math|1}} と定義するならば、空和は {{math|log 1 {{=}} 0}} であるべきである。逆に、指数関数は和を積に変えるから、空和を {{math|0}} と定義するならば、空積は {{math|''e''<sup>0</sup> {{=}} 1}} であるべきである。 :<math>\prod_i x_i = \exp\left(\sum_i \log x_i\right)</math> == 零項デカルト積 == [[デカルト積]]の一般の定義を考えよう: : <math>\prod_{i \in I} X_i = \{ g \colon I \to \bigcup_{i \in I} X_i \mid \forall i,\ g(i) \in X_i \}.</math> 添字集合 {{mvar|''I''}} が空ならば、そのような {{mvar|g}} は[[空写像]] {{math|''f''{{sub|∅}}}} ただ一つである。これは {{math|∅ × ∅}} の部分集合で写像 {{math|∅ → ∅}} を定める唯一のものであり、({{math|∅ × ∅}} が持つ唯一の部分集合としての)空部分集合 {{math|∅}} である: :<math>\prod_\varnothing{} = \{ f_\varnothing: \varnothing \to \varnothing \} = \{ \varnothing\}.</math> したがって、零個の集合のデカルト積の濃度は {{math|1}} である。 より馴染みのあるであろう[[順序組]]の解釈の下では、 :<math>\prod_\varnothing{} = \{ ( ) \},</math> つまり、空リストを含む[[一元集合]]である。両方の表現において空積は[[濃度 (数学)|濃度]] {{math|1}} を持つことに注意しよう。 === 写像の零項デカルト積 === [[直積集合#写像の直積|写像の空デカルト積]]は再び空写像である。 == 圏論における空積 == 任意の[[圏 (圏論)|圏]]において、空の族の[[積 (圏論)|積]]はその圏の[[終対象]]である。これは積の[[極限 (圏論)|極限]]による定義を用いて証明できる。{{mvar|n}} 重の圏論的積は {{mvar|n}} 個の対象からなる[[離散圏]]によって与えられる[[図式 (圏論)|図式]]に関する極限として定義できる。すると空積は空圏に関する極限によって与えられ、これは圏の終対象(存在すれば)である。この定義を特殊化すれば上記の結果が与えられる。例えば、[[集合の圏]]において、圏論的積は通常のデカルト積であり、終対象は単元集合である。[[群の圏]]において、圏論的積は群のデカルト積であり、終対象は1つの元からなる自明群である。空積の通常の算術的定義を得るためには、有限集合の圏において空積の{{仮リンク|脱圏化|en|decategorification}}を取らなければならない(今の場合これはすなわち、各集合に対してその濃度を考えるということに他ならない)。 [[双対 (圏論)|双対的]]に、空な族の[[余積]]は[[始対象]]である。零項の圏論的積や余積は与えられた圏において存在しないかもしれない。例えば、[[体の圏]]においては、どちらも存在しない。 == 論理学における空積 == [[古典論理学]]で定義される演算としての[[連言]]は、{{仮リンク|普遍量化|en|universal quantification}}をすることとして、そして[[一階述語論理|述語計算]]により任意個数の連言へ一般化することができる。真を {{math|1}}, 偽を {{math|0}} と同一視すれば連言を取ることは単に算術的な掛け算をしているだけと直観できるから、連言のことは論理積といった方が通りがよかろう。論理積の因子としては任意個数の入力を受けることができるから、入力が零個の場合として'''空論理積''' (''empty conjunction'') が考えられ、これは恒等的に真である。 論理学においてこれと関連する概念として、[[空虚な真]]は対象からなる空集合は任意の性質を持ち得ることを主張する。これを(論理学の一般論の一部として)論理積が {{math|1}} 以下の値をとるということを用いて説明することができる。つまり、因子の数の多い論理積を考える場合、それが長くなれば長くなるほどその値が {{math|0}}(つまり偽)となる確率は高くなる(特に、論理積を取る命題のうちの一つでも {{math|0}}であることが分かれば、その論理積全体は {{math|0}} と確定するから、残り全ての命題について値が {{math|0}} かどうかを調べる必要が無くなる)ということであり、裏を返せば論理積の因子となる命題の数を減らせば、{{math|0}} でないことのチェックを通過してその論理積の値が {{math|1}} になる確率はより増加するということである。従って特に、命題の数が零個なら、調べる回数も零回で、何もしなくてもチェックに引っかかることなどあり得ないから、どのような命題あるいは対象の性質を調べているかということとは無関係に、このチェックは必ず通過することになる。 == コンピュータプログラミングにおいて == 多くのプログラミング言語、例えば[[Python]]、は数のリストの直接的表現を許しており、任意個のパラメーターを許す関数すら許している。そのような言語がリストに入っているすべての数の積を返す関数を持っていれば、通常以下のように動く: listprod( [2,3,5] ) --> 30 listprod( [2,3] ) --> 6 listprod( [2] ) --> 2 listprod( [] ) --> 1 この慣習によって「リストの長さが1ならば」とか「リストの長さが0ならば」のような特別な場合を特別な場合としてコードしなくてもよくなる。 乗法は[[中置記法|中置]]オペレータであり、したがって二項演算であり、空積の表記をややこしくしている。いくつかのプログラミング言語はこれを[[可変長引数]]関数を使うことによって扱っている。例えば、[[LISP]]の[[S式|十分にかっこをつけた前置記法]]から{{仮リンク|0項の|en|nullary}}関数の自然な表記が生じる: (* 2 2 2) ; evaluates to 8 (* 2 2) ; evaluates to 4 (* 2) ; evaluates to 2 (*) ; evaluates to 1 == 関連項目 == * {{仮リンク|反復二項演算|en|Iterated binary operation}} * [[空和]] * [[空虚な真]] == 参考文献 == <references/> == 外部リンク == * [http://planetmath.org/emptyproduct PlanetMath article on the empty product] {{DEFAULTSORT:くうせき}} [[Category:積]] [[Category:1]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Lang Algebra
(
ソースを閲覧
)
テンプレート:Math
(
ソースを閲覧
)
テンプレート:Mvar
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
空積
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報