情報科学 › 研究のための計算の実務 › NumPy で書く配列計算

ブロードキャスト

定義 3.1(「NumPy で書く配列計算」§3)

L={0,1,2,…}∪{⊤}L=\{0,1,2,\ldots\}\cup\{\top\} とする(⊤\top は「両立しない」を表す記号)。a,b∈La,b\in L の結合 a∨b∈La\vee b\in L を

a∨b={a(a=b または b=1)b(a=1)⊤(それ以外)a\vee b=\begin{cases}a&(a=b\ \text{または}\ b=1)\\ b&(a=1)\\ \top&(\text{それ以外})\end{cases}

と定める。00 以上の整数 a,ba,b が a∨b≠⊤a\vee b\ne\top を満たす、すなわち a=ba=b または a=1a=1 または b=1b=1 のとき、長さ aa と bb は両立するという。

shape n=(n1,…,nd)n=(n_1,\ldots,n_d) と整数 D≥dD\ge d に対し、先頭に 11 を D−dD-d 個補った (1,…,1,n1,…,nd)(1,\ldots,1,n_1,\ldots,n_d) を padD(n)\mathrm{pad}_D(n) と書く(右詰め)。2 つの shape n,n′n,n' の結合を、DD を両者の次元の大きい方として、padD(n)\mathrm{pad}_D(n) と padD(n′)\mathrm{pad}_D(n') の成分ごとの結合と定める。結合のどの成分も ⊤\top でないとき nn と n′n' は両立するといい、結合をブロードキャストした shape という。

両立する shape の配列どうしの要素ごとの演算では、それぞれの配列を、軸の追加と長さ 1 の軸の引き伸ばし(命題 2.3 の 4 と 5)によってブロードキャストした shape の配列とみなしてから、同じ添字の要素どうしを演算する。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理 証明で参照している 1 件

関連するノック 2 問