Fold

Fold[f,x,list]

FoldList[f,x,list]の最後の要素を返す.

Fold[f,list]

Fold[f,First[list],Rest[list]]に等しい.

Fold[f]

式に適用可能なFoldの演算子形を表す.

詳細

  • Foldが終了する前にThrowを使って中断することができる.
  • Fold[f][list]Fold[f,list]に等しい.
  • Fold[f][x,list]Fold[f,x,list]に等しい.

例題

すべて開くすべて閉じる

  (4)

関数 f を連続的に適用して x およびリスト要素をシードする:

FoldListと一緒に使ってネストした順序対を作る:

一度に1要素ずつ要素を乗算する:

リストの最初の要素から始める:

スコープ  (8)

Foldと一緒に純関数を使う:

1つの引数にFoldの演算子形を使う:

2つの引数のFoldの演算子形を使う:

左結合性でベキをネストさせる:

右結合性でベキをネストさせる:

続く2つの置換を行う:

一連の外積を行う:

頭部はListでなくともよい:

Throwを使って早めにFoldから出る:

アプリケーション  (9)

ネストした多項式(Horner形式)を作る:

HornerFormは直接次の出力を生成する:

連分数を作る:

各桁の数字から数字を作る:

交代和を作る:

二分木を作る:

左に枝分かれする二分木を作る:

関数合成を行う:

指標順になった関数を適用する:

リストを連続的に分割する:

特性と関係  (9)

空のリストでたたんでも関数は適用されない:

同様に,以下は関数を全く適用しない:

FoldFoldListの最終要素を返す:

Foldは第1引数としてシードを取る関数 f を必要とする:

第2引数のシードが使いたければ,ReverseAppliedを使うとよい:

Foldはリスト要素を左から右に取る:

Reverseを使って右から左に要素を取る:

ReverseReverseAppliedを組み合せる:

追加要素をたたむことは追加要素に関数を適用することに等しい:

Fold[f,x,{a,b,}]Fold[f,f[x,a],{b,}]に等しい:

第2引数を無視する関数はNestにおけるのと同じ結果を与える:

FoldListNestWhileListで計算できる:

Fold[Append,{},list]list に等しい:

考えられる問題  (1)

空リストはシードなしでたたむことはできない:

しかし,FoldListの動作はよく定義されている:

おもしろい例題  (3)

原始再帰関数 r[z,r[s,r[s,r[s,p[2]]]]]の明示的な形 [詳細]:

集合の部分集合をすべて生成する:

数のリスト中の任意の要素のすべての可能な和を求める:

四次のSwinnertonDyer多項式 [詳細]:

Wolfram Research (1991), Fold, Wolfram言語関数, https://reference.wolfram.com/language/ref/Fold.html (2016年に更新).

テキスト

Wolfram Research (1991), Fold, Wolfram言語関数, https://reference.wolfram.com/language/ref/Fold.html (2016年に更新).

CMS

Wolfram Language. 1991. "Fold." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/Fold.html.

APA

Wolfram Language. (1991). Fold. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Fold.html

BibTeX

@misc{reference.wolfram_2024_fold, author="Wolfram Research", title="{Fold}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/Fold.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_fold, organization={Wolfram Research}, title={Fold}, year={2016}, url={https://reference.wolfram.com/language/ref/Fold.html}, note=[Accessed: 22-November-2024 ]}