非結合的演算の記法とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 非結合的演算の記法の意味・解説 

非結合的演算の記法

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/13 01:24 UTC 版)

結合法則」の記事における「非結合的演算の記法」の解説

詳細は「Operator associativity」を参照 非結合的演算一つの式の中で複数現れるときには評価の順を指し示すために括弧挿入することは(例えば .mw-parser-output .sfrac{white-space:nowrap}.mw-parser-output .sfrac.tion,.mw-parser-output .sfrac .tion{display:inline-block;vertical-align:-0.5em;font-size:85%;text-align:center}.mw-parser-output .sfrac .num,.mw-parser-output .sfrac .den{display:block;line-height:1em;margin:0 0.1em}.mw-parser-output .sfrac .den{border-top:1px solid}.mw-parser-output .sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}2/3/4 のように、ほかの方法順番指定する記法を用いているのでない限り一般に不可避である。とはいえいくつかのよく用いられる非結合的演算については、特定の順番評価することにして括弧の使用回避する簡便記法が、受け入れられている。 左結合 (left-associative) 演算とは、規約として左から右に評価する—式で書けば x ∗ y ∗ z := ( x ∗ y ) ∗ z w ∗ x ∗ y ∗ z := ( ( w ∗ x ) ∗ y ) ∗ z etc. ( ∀ w , x , y , z , … ∈ S ) {\displaystyle {\begin{array}{l}x*y*z:=(x*y)*z\\w*x*y*z:=((w*x)*y)*z\\{\text{etc.}}\end{array}}\qquad (\forall w,x,y,z,\dotsc \in S)} を意味する演算を言う。同様に結合 (right-associative) 演算は、右から左評価するものと約束する: x ∗ y ∗ z := x ∗ ( y ∗ z ) w ∗ x ∗ y ∗ z := w ∗ ( x ∗ ( y ∗ z ) ) etc. ( ∀ w , x , y , z , … ∈ S ) . {\displaystyle {\begin{array}{l}x*y*z:=x*(y*z)\\w*x*y*z:=w*(x*(y*z))\\{\text{etc.}}\end{array}}\qquad (\forall w,x,y,z,\dotsc \in S).} 左結合演算も右結合演算どちらも生じ得る。左結合演算の例: 実数減法および除法: x − y − z := ( x − y ) − z {\displaystyle x-y-z:=(x-y)-z} x / y / z := ( x / y ) / z . {\displaystyle x/y/z:=(x/y)/z.} 函数適用: ( f x y ) = ( ( f x ) y ) . {\displaystyle (f\,x\,y)=((f\,x)\,y).} この記法はカリー化同型によって動機づけられる。 右結合演算の例: 実数の冪(上付き添字法の場合): x y z = x ( y z ) . {\displaystyle x^{y^{z}}=x^{(y^{z})}.} 冪演算は、反復的な結合演算にあまり需要がない(左からの繰り返しの冪は、冪指数乗法使って ( x y ) z = x ( y z ) {\displaystyle (x^{y})^{z}=x^{(yz)}} と書き直せる)ため、括弧付かない場合にはふつう右結合的とする。正しく組まれている限り上付き添字それ自体括弧括るのと本質的に同じ効果期待できる例え2x+3 という式では右肩の和の計算が冪をとるよりも先に行われ、それは括弧括って 2(x+3) と明示的に書いたときに期待される計算順序になっているそれゆえxyz のような式が与えられたときは、底 x に対す全体冪指数 yz がまず計算されるのは必定である。とはいえ手書きする場合などは特にそうだが、文脈によっては x y z , x y z , x y z {\displaystyle {x^{y}}^{z},\quad x^{yz},\quad x^{y^{z}}} (これらを、陽に括弧付けて書けば、順に ( x y ) z , x ( y z ) , x ( y z ) {\textstyle (x^{y})^{z},\,x^{(yz)},\,x^{(y^{z})}} )の判別難しいこともある。そういった場合には、ふつう右結合性暗黙用いられている。 写像の合成図式順): Z → Z → Z = Z → ( Z → Z ) {\displaystyle \mathbb {Z} \rightarrow \mathbb {Z} \rightarrow \mathbb {Z} =\mathbb {Z} \rightarrow (\mathbb {Z} \rightarrow \mathbb {Z} )} x ↦ y ↦ x − y = x ↦ ( y ↦ x − y ) . {\displaystyle x\mapsto y\mapsto x-y=x\mapsto (y\mapsto x-y).} これらの演算の右結合記法は、カリーハワード対応およびカリー化同型動機づけられる。 評価順について特定の規約がない演算の例: 実数の冪演算中置記法場合): ( x ∧ y ) ∧ z ≠ x ∧ ( y ∧ z ) . {\displaystyle (x^{\wedge }y)^{\wedge }z\neq x^{\wedge }(y^{\wedge }z).} クヌースの矢印記法: a ↑↑ ( b ↑↑ c ) ≠ ( a ↑↑ b ) ↑↑ c a ↑↑↑ ( b ↑↑↑ c ) ≠ ( a ↑↑↑ b ) ↑↑↑ c etc. {\displaystyle {\begin{array}{l}a\uparrow \uparrow (b\uparrow \uparrow c)\neq (a\uparrow \uparrow b)\uparrow \uparrow c\\a\uparrow \uparrow \uparrow (b\uparrow \uparrow \uparrow c)\neq (a\uparrow \uparrow \uparrow b)\uparrow \uparrow \uparrow c\\{\text{etc.}}\end{array}}} ベクトル交叉積ベクトル三重積): a → × ( b → × c → ) ≠ ( a → × b → ) × c → ( ∃ a → , b → , c → ∈ R 3 ) . {\displaystyle {\vec {a}}\times ({\vec {b}}\times {\vec {c}})\neq ({\vec {a}}\times {\vec {b}})\times {\vec {c}}\qquad (\exists {\vec {a}},{\vec {b}},{\vec {c}}\in \mathbb {R} ^{3}).} 実数の対ごとの算術平均: ( x + y ) / 2 + z 2 ≠ x + ( y + z ) / 2 2 ( ∀ x , y , z ∈ R , x ≠ z ) . {\displaystyle {(x+y)/2+z \over 2}\neq {x+(y+z)/2 \over 2}\qquad (\forall x,y,z\in \mathbb {R} ,x\neq z).} 集合の差: ( A ∖ B ) ∖ C {\displaystyle (A\setminus B)\setminus C} は A ∖ ( B ∖ C ) {\displaystyle A\setminus (B\setminus C)} と一致しない論理学における否定論理包含英語版)の場合比較せよ)。

※この「非結合的演算の記法」の解説は、「結合法則」の解説の一部です。
「非結合的演算の記法」を含む「結合法則」の記事については、「結合法則」の概要を参照ください。

ウィキペディア小見出し辞書の「非結合的演算の記法」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「非結合的演算の記法」の関連用語

非結合的演算の記法のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



非結合的演算の記法のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの結合法則 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS