Threaded
a+Threaded[b]
配列 b の要素を配列 a の可能な限り下のレベルの要素に加える.
a+Threaded[b,alev]
a のレベル alev の要素を加える.
a+Threaded[b,blevalev]
a のレベル alev の要素を b のレベル blev に加える.
f[a,Threaded[b,…]]
属性Listableを持つ関数 f について要素を組み合せる.
詳細
- a+Threaded[b]では,a の最低レベルの次元が b の次元と一致しなければならない.
- Listableな関数 f では,f[a,b]は,事実上,最も上位のレベルから下に向けて配列 a と b の要素に f を適用する.Threadedを使うと a の中での要素の結合方法が制御できる.
- a の次元が{adim1,…,adimj}で b の次元が{bdim1,…,bdimi}なら,次元に対応するレベルは以下のようになる.
- f[a,Threaded[b]]なら,a と b はArrayDepth[a]≥ArrayDepth[b]の矩形配列でなければならない.
- Threaded[b]はThreaded[b,1-ArrayDepth[b]]またはThreaded[b,-1-1]に等しい. »
- Threaded[b,alev]はThreaded[b,1alev]に等しい.
- alev<0のとき,f[a,Threaded[b,alev]]は f[a,Threaded[b,ArrayDepth[a]+alev+1]に等しい.
- alev>0のとき,f[a,Threaded[b,alev]]はMap[f[#,b]&,a,{alev-1}] に等しい.
- f[Threaded[a,alev], Threaded[b,blev]]は,alev と blev の符号が等しければ,頭部がThreadedの結果を与える.
例題
すべて開くすべて閉じる例 (1)
Threadedがないと,ペアのリストにスカラーのリストを加えると各ペアにスカラーの値が加えられる:
スコープ (7)
アプリケーション (2)
特性と関係 (8)
Threaded[y,…]は,内部に属性Listableを有する包み込みの頭部がない場合は未評価のままになる:
この操作が実行できなければ,メッセージが出てThreadedは未評価のままになる:
リスト可能関数 f の配列 a および b についてのデフォルトの縫込み動作はThreaded[b,1]に相当する:
デフォルトで,Threaded[b]は a の深さを変えない可能な最低レベルの b を縫い込む:
最も下のレベルに縫い込まれた配列は,操作に十分深い配列を作成するために全体が複製される:
最も高いレベルに縫い込まれた場合は,配列を埋めるために個々の項目が複製される:
Threaded[b]はThreaded[b,-1-1]に等しい:
これはThreaded[b,1-ArrayDepth[b]]として表すことができる:
リスト可能な関数 f,配列 a,ベクトル v については,Threadedの使用はInnerで再現できる:
Threadedと明示的なTableを使って a の最初のレベルにおける b の最初のレベルへの縫込みを比較する:
デフォルト以外のレベルでの縫込みは2つの転置を使って行うこともできる:
この置換によって a の第3レベルと第4レベルが第1レベルと第2レベルに移動される.レベル5は変化しない:
Quantityが属性Listableを有するなら,QuantityArray[mags,units]はQuantity[mags,Threaded[units]]に相当する:
テキスト
Wolfram Research (2022), Threaded, Wolfram言語関数, https://reference.wolfram.com/language/ref/Threaded.html.
CMS
Wolfram Language. 2022. "Threaded." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Threaded.html.
APA
Wolfram Language. (2022). Threaded. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Threaded.html