Comap
詳細とオプション
- Comapは,リスト中の各関数を単一の共通引数に適用するためにしばしば使われる. »
- Comapは標準的なレベル指定を使う.
-
n レベル1からレベル n まで Infinity レベル1からInfinityまで {n} レベルn のみ {n1,n2} レベル n1からレベル n2まで - Comapにおける levelspec のデフォルト値は{1}である.
- 正のレベルは n 指標 n で指定される fsのすべての部分からなる.
- 負のレベル-n は深さ n の fsのすべての部分からなる.
- レベル–1は,数,シンボル,下位区分を持たないその他のオブジェクトからなる.
- レベル0は式全体に相当する.
- Comapは,オプション設定がHeads->Trueのときは式の頭部とその部分を含む. »
- Comapは常に完全な新しい式を効率的に構築してこれを評価する. »
- Comap[fs,x,…]の fs の頭部はListではなくてもよい.
- fsがAssociationオブジェクトなら,Comap[fs,x]は連想の値を x に適用する. »
- Comap[fs][x]はComap[fs,x]に等しい.
- Parallelize[Comap[fs,x]]は,すべてのサブカーネルでComap[fs,x]の並列計算を行う. »
例題
すべて開く すべて閉じる例 (4)
Comap[{f, g, h}, x]Comapの演算子形を使う:
Comap[{Sin, Cos, Tan}][Pi / 3]Comap[{{Sin, Cos, Tan}, {Csc, Sec, Cot}}, Pi / 3, {2}]Comap[<|"a" -> f, "b" -> g, "c" -> h|>, x]スコープ (6)
Comap[{1 + f[#]&, 2 + g[#]&, 3 + h[#]&}, x]Comap[{x |-> x ^ 2, x |-> x ^ 3}, 2]Comapは任意の頭部を持つ式に使うことができる:
Comap[a + b + c + d, x]Comap[f ^ a + g ^ b, x, {2}]ネストしたAssociationの第2レベルにComapする:
Comap[<|"a" -> <|"x" -> f|>, "b" -> <|"y" -> g|>|>, x, {2}]Comap[{Gamma, {Exp, Log}, {{Sin, ArcSin}, {Cos, ArcCos}}}, 0, {-1}]Comap[f[f[f[f[f[f]]]]], x, {2, -3}]Comap[h0[h1[h2[h3[h4[h5]]]]], x, {2, -3}]オプション (1)
アプリケーション (3)
特性と関係 (9)
Comapは式の一部で別の式をラップする:
Comap[{f, g, h}, x]Mapは式で他の式の一部をラップする:
Map[f, {x, y, z}]Query[{Mean, Median, StandardDeviation}][{6, 2, 3, 4, 4, 4, 0}]Comap[{Mean, Median, StandardDeviation}][{6, 2, 3, 4, 4, 4, 0}]Query[assoc]もまたComap[assoc]に等しい:
Query[<|"a" -> f, "b" -> g, "c" -> h|>][x]Comap[<|"a" -> f, "b" -> g, "c" -> h|>][x]Through[p[f,g,…][x]]はComap[p[f,g,…],x]に等しい:
Through[{f, g, h}[x]]Comap[{f, g, h}, x]これをComapの演算子形と比較する:
Comap[{f, g, h}][x]Comap[p[f,g,…],x]は,たとえ p[f,g,…][x]に値があっても使うことができる:
Comap[<|"a" -> f, "b" -> g|>, x]p[f,g,…][x]に値があるときは,Throughは使えない:
<|"a" -> f, "b" -> g|>[x]Through[<|"a" -> f, "b" -> g|>[x]]Comap[{f1,f2,…},x]は,fiに属性がなければMap[f|->f[x],{f1,f2,…}]に等しい:
Comap[{f, g, h}, x]Map[e |-> e[x], {f, g, h}]Comapはホールドされた式の中にある部分を評価せずに適用することができる:
Comap[Hold[Length, Total], {a, b, c}]ReleaseHoldを使って評価されるようにする:
ReleaseHold[{%}]ある引数だけがホールドされているなら,その引数だけがそれ以降評価されなくなる:
SetAttributes[h, HoldRest]Comap[h[Length, Total], {a, b, c}]Unevaluatedを使って式を評価することなしに関数のリストをこの式に適用する:
Comap[{Hold, HoldComplete}, Unevaluated[2 3 4]]Comap[{Hold, HoldComplete}, 2 3 4]Unevaluatedを使って式を評価することなしに式の各部分に共適用する:
Comap[Unevaluated[f g f], x]Comap[f g f, x]Comapは自動的に並列化できる:
Parallelize[Comap[{f, g, h}, x]]考えられる問題 (1)
Comapは,デフォルトで,レベル1から始めるので,式全体を式に適用することはない:
Comap[f[g[h]], x, -1]Comap[f[g[h]], x, {0, -1}]テクニカルノート
関連するガイド
-
▪
- 関数型プログラミング ▪
- 関数の合成と演算子形式 ▪
- 式への構造操作
テキスト
Wolfram Research (2024), Comap, Wolfram言語関数, https://reference.wolfram.com/language/ref/Comap.html.
CMS
Wolfram Language. 2024. "Comap." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Comap.html.
APA
Wolfram Language. (2024). Comap. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Comap.html
BibTeX
@misc{reference.wolfram_2026_comap, author="Wolfram Research", title="{Comap}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Comap.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_comap, organization={Wolfram Research}, title={Comap}, year={2024}, url={https://reference.wolfram.com/language/ref/Comap.html}, note=[Accessed: 13-September-2026]}