Osgood曲線(ルベーグ測度正をもつジョルダン曲線:Knopp’s Osgood Curve)


[参考]:
空間充填曲線とフラクタル; ザーガン, 鎌田清一郎

フラクタル曲線についての解析学―擬等角写像外伝, 谷口 雅彦

https://demonstrations.wolfram.com/KnoppsOsgoodCurveConstruction/

三角形$T$(直角三角形である必要はない)から始まって, $r_1 \in (0,1)$である面積$r_1 J_2(T)$の開三角形を取り除き, 合わせた面積$J_2(T)(1-r)$の二個の閉三角形$T_0,T_1$が残る.
これを続けていくと,
\[
\Lambda_2(C) = J_2(T) \Pi_{j=1}^{\infty} (1- r_j)
\] をもった点集合
\[
C= (T_0 \cup T_1) \cap (T_{00} \cup T_{01}\cup T_{10} \cup T_{11}) \cap \cdots
\] を得る. ここで, $\sum_{i=1}^{\infty}r_j$が収束すような$\{r_j\}_{j\geq 1}$であれば, $\Lambda_2(C) >0$である.
そこで,  初期三角形$T$として, 長さ$2$の底辺を持った直角二等辺三角形を選び(したがって、$J_2(T)=1$), $r \in (0,1)$に対して, $r_j = r^2/ j^2$となるならば,
\[
\Lambda_2(C) = \Pi_{j=1}^{\infty} (1- \frac{r^2}{j^2})
\]

を得る. Weierstrass の分解定理から,
\[
\sin (\pi z) = \pi z \Pi_{j=1}^{\infty} (1- \frac{z^2}{j^2})
\] である.
\[
\lambda_2(C)  = \Pi_{j=1}^{\infty} (1- \frac{z^2}{j^2}) = \frac{\sin(\pi r)}{\pi r}
\] となる. 任意の$\lambda \in (0,1)$に対して, $\frac{\sin(\pi r)}{\pi r} = \lambda$が解$r \in (0,1)$をもつ. 任意の$\lambda \in (0,1)$に対して, 二次元Lebesgue測度$\lambda$の集合$C(\lambda)$を得ることができる.

具体的に言うと,

  • 頂点 $A$ (直角の頂点): $(0, \sqrt{2})$

  • 左端 $B$: $(-\sqrt{2}, 0)$

  • 右端 $C$: $(\sqrt{2}, 0)$

反復 $j$ における縮小率を $s_j = 1 – \frac{r}{j}$ とします。(

反復 $j$ における除去面積率を $r_j = \frac{r^2}{j^2}$ とすると、残る三角形の高さの比率(縮小率) $s_j$ は次のように計算されています。

$$s_j = 1 – \sqrt{r_j} = 1 – \frac{r}{j}$$

)

 

\[
f_{j,1}\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} s_j & 0 \\ 0 & s_j \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} + (1 – s_j) \begin{pmatrix} -\sqrt{2} \\ 0 \end{pmatrix}
\]

\[
f_{j,2}\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} s_j & 0 \\ 0 & s_j \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} + (1 – s_j) \begin{pmatrix} \sqrt{2} \\ 0 \end{pmatrix}
\]

\[
E = \bigcap_{n=1}^{\infty} \bigcup_{\sigma \in \{1,2\}^n} (f_{n,\sigma_n} \circ \dots \circ f_{1,\sigma_1})(T_0)
\]

  • $s$ が一定(例: 0.5)の場合: 面積は 0 に収束する。(典型的なKoch曲線)。

  • $s_j = 1 – r/j$ の場合: 縮小がだんだん「緩やか」になるため、無限回繰り返しても面積が 0 にならず、正の値($\frac{\sin \pi r}{\pi r}$)として残る。

    また, これは, 二次元の太ったCantor集合から構成も存在を保証できる。(実際の構成は、ザーガンのほんの8.2章に載っている。) そうではない方法としては, 一度作った太ったCantor集合(Smith–Volterra–Cantor set)にDenjoy–Riesz theoremを適用することで, 存在を証明できる。

    On Uncountable Unions and Intersections of Measurable Sets

 

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
from matplotlib.widgets import Slider
from typing import List, Callable
from scipy.optimize import fsolve



# ---- utilities ------------------------------------------


def nest(f: Callable, x, n: int):
for _ in range(n):
x = f(x)
return x



def flatten_once(lst: List[List]):
return [item for sub in lst for item in sub]



# ---- Core fractal logic with varying removal rates --------------------


class TriangleSplitterVarying:
"""
Implements the construction where at iteration j, we remove a triangle
with area ratio r_j relative to the parent triangle.


For the special case r_j = r²/j², the final measure is sin(πr)/(πr).
"""


def __init__(self, r: float, max_iterations: int = 10):
"""
Args:
r: The parameter in r_j = r²/j²
max_iterations: Maximum depth of iteration
"""
self.r = r
self.max_iterations = max_iterations
# Precompute removal ratios
self.removal_ratios = [r**2 / j**2 for j in range(1, max_iterations + 1)]


def compute_split_params(self, removal_ratio: float):
"""
Given a removal ratio r_j, compute the split parameters.


For a triangle with base on bottom, if we remove a triangle from the top
with area ratio r_j, we need to find the height ratio.


Since area scales with height, if we keep a fraction h of the height,
each resulting triangle has area (1-r_j)/2.


The removed triangle has area r_j.
The two remaining triangles together have area (1-r_j).


For symmetric removal from the top, we use:
- center = 0.5 (middle of base)
- The split point determines how much we remove
"""
# For a symmetric split, if we remove area r_j from top,
# the remaining two triangles share area (1-r_j)


# Height ratio of removed triangle: sqrt(r_j)
h_removed = np.sqrt(removal_ratio)


# The split happens at height (1 - h_removed) from bottom
h_split = 1 - h_removed


# For the base of the removed triangle, we need to compute
# the width at height h_split
# For a triangle, width scales linearly with height from apex
# At height h from bottom (where total height is 1),
# the distance from apex is (1-h), so width is proportional to (1-h)


# At the split line, the width ratio is (1 - h_split) = h_removed
# So the split points on the base are at:
# center ± h_removed/2


center = 0.5
half_width = h_removed / 2
left = center - half_width
right = center + half_width


return left, center, right


def split_triangle_at_iteration(self, triangle: np.ndarray, iteration: int):
"""
Split a triangle at a given iteration with removal ratio r_iteration.
"""
if iteration >= len(self.removal_ratios):
return [triangle] # No more splitting


r_j = self.removal_ratios[iteration]
left, center, right = self.compute_split_params(r_j)


a, b, c = triangle


# Points on the base
p_left = b + left * (c - b)
p_right = b + right * (c - b)


# The split happens at these points, creating two triangles
return [
np.array([p_left, b, a]),
np.array([p_right, c, a]),
]


def fractal(self, initial_triangle: np.ndarray, n_iterations: int):
"""
Generate the fractal after n_iterations.
"""
triangles = [initial_triangle]


for iteration in range(min(n_iterations, self.max_iterations)):
new_triangles = []
for tri in triangles:
new_triangles.extend(self.split_triangle_at_iteration(tri, iteration))
triangles = new_triangles


return triangles



# ---- Measure computation ------------------------------------------------


def compute_measure_product(r: float, n_terms: int = 100):
"""
Compute the product: ∏(1 - r²/j²) for j=1 to n_terms
"""
product = 1.0
for j in range(1, n_terms + 1):
product *= (1 - r**2 / j**2)
return product



def compute_measure_sinc(r: float):
"""
Compute sin(πr)/(πr) using the Weierstrass product formula.
"""
if abs(r) < 1e-10:
return 1.0
return np.sin(np.pi * r) / (np.pi * r)



def find_r_for_lambda(target_lambda: float):
"""
Find r such that sin(πr)/(πr) = target_lambda.
"""
def equation(r):
return compute_measure_sinc(r) - target_lambda


# Initial guess
r0 = 0.5
solution = fsolve(equation, r0)
return solution[0]



# ---- Visualization ------------------------------------------------------


def visualize_fractal_with_measure(r: float, max_iterations: int = 8):
"""
Visualize the fractal construction with measure computation.
"""
# Create initial right isosceles triangle with base 2, area 1
# Base from (-1, 0) to (1, 0), apex at (0, 1)
b = np.array([-1.0, 0.0])
c = np.array([1.0, 0.0])
a = np.array([0.0, 1.0])
initial_triangle = np.array([a, b, c])


fig, axes = plt.subplots(2, 4, figsize=(16, 8))
axes = axes.flatten()


splitter = TriangleSplitterVarying(r, max_iterations)


# Compute theoretical measure
measure_theory = compute_measure_sinc(r)
measure_product = compute_measure_product(r, max_iterations)


fig.suptitle(
f'Fractal Construction with r = {r:.4f}\n'
f'Theoretical Measure λ = sin(πr)/(πr) = {measure_theory:.6f}\n'
f'Product Formula (n={max_iterations}): {measure_product:.6f}',
fontsize=12, fontweight='bold'
)


for idx, n in enumerate(range(9)):
if idx >= len(axes):
break


ax = axes[idx]
triangles = splitter.fractal(initial_triangle, n)


# Compute actual measure (sum of triangle areas)
total_area = sum(triangle_area(tri) for tri in triangles)


for tri in triangles:
ax.add_patch(
Polygon(
tri,
closed=True,
edgecolor='black',
facecolor='lightblue',
linewidth=0.5,
)
)


ax.set_xlim(-1.2, 1.2)
ax.set_ylim(-0.1, 1.2)
ax.set_aspect('equal')
ax.set_title(f'Iteration {n}\nArea = {total_area:.6f}', fontsize=10)
ax.grid(True, alpha=0.3)


plt.tight_layout()
return fig



def triangle_area(triangle: np.ndarray):
"""
Compute the area of a triangle using the cross product formula.
"""
a, b, c = triangle
return 0.5 * abs(np.cross(b - a, c - a))



# ---- Interactive visualization with slider ------------------------------


def interactive_measure_exploration():
"""
Interactive exploration of the relationship between r and measure λ.
"""
fig = plt.figure(figsize=(14, 10))


# Create subplots
ax_fractal = plt.subplot(2, 2, (1, 3))
ax_graph = plt.subplot(2, 2, 2)
ax_product = plt.subplot(2, 2, 4)


plt.subplots_adjust(bottom=0.15, hspace=0.3)


# Initial parameters
r0 = 0.5
max_iter = 8


# Create initial triangle
b = np.array([-1.0, 0.0])
c = np.array([1.0, 0.0])
a = np.array([0.0, 1.0])
initial_triangle = np.array([a, b, c])


def redraw(r, n_iter):
# Clear axes
ax_fractal.clear()
ax_graph.clear()
ax_product.clear()


# Generate fractal
splitter = TriangleSplitterVarying(r, max_iter)
triangles = splitter.fractal(initial_triangle, n_iter)


# Draw fractal
for tri in triangles:
ax_fractal.add_patch(
Polygon(
tri,
closed=True,
edgecolor='black',
facecolor='lightblue',
linewidth=0.5,
)
)


total_area = sum(triangle_area(tri) for tri in triangles)
measure_theory = compute_measure_sinc(r)


ax_fractal.set_xlim(-1.2, 1.2)
ax_fractal.set_ylim(-0.1, 1.2)
ax_fractal.set_aspect('equal')
ax_fractal.set_title(
f'Iteration {n_iter}, r = {r:.4f}\n'
f'Actual Area: {total_area:.6f}\n'
f'Theory λ = sin(πr)/(πr): {measure_theory:.6f}',
fontsize=11
)
ax_fractal.grid(True, alpha=0.3)


# Plot measure vs r
r_values = np.linspace(0.01, 0.99, 200)
lambda_values = [compute_measure_sinc(r_val) for r_val in r_values]


ax_graph.plot(r_values, lambda_values, 'b-', linewidth=2, label='λ = sin(πr)/(πr)')
ax_graph.plot(r, measure_theory, 'ro', markersize=10, label=f'Current: r={r:.3f}, λ={measure_theory:.3f}')
ax_graph.set_xlabel('r', fontsize=11)
ax_graph.set_ylabel('λ (Measure)', fontsize=11)
ax_graph.set_title('Measure vs Parameter r', fontsize=11)
ax_graph.grid(True, alpha=0.3)
ax_graph.legend()
ax_graph.set_xlim(0, 1)
ax_graph.set_ylim(0, 1)


# Plot convergence of product
iterations = range(1, 21)
product_values = [compute_measure_product(r, n) for n in iterations]


ax_product.plot(iterations, product_values, 'b-o', linewidth=2, markersize=4, label='Product formula')
ax_product.axhline(y=measure_theory, color='r', linestyle='--', linewidth=2, label='Theoretical limit')
ax_product.set_xlabel('Number of terms', fontsize=11)
ax_product.set_ylabel('Product value', fontsize=11)
ax_product.set_title(f'Convergence of ∏(1 - r²/j²) for r={r:.4f}', fontsize=11)
ax_product.grid(True, alpha=0.3)
ax_product.legend()


fig.canvas.draw_idle()


# Create sliders
ax_r = plt.axes([0.15, 0.05, 0.7, 0.03])
ax_iter = plt.axes([0.15, 0.01, 0.7, 0.03])


s_r = Slider(ax_r, 'r', 0.01, 0.99, valinit=r0)
s_iter = Slider(ax_iter, 'iterations', 0, max_iter, valinit=max_iter, valstep=1)


def update(_):
redraw(s_r.val, int(s_iter.val))


s_r.on_changed(update)
s_iter.on_changed(update)


redraw(r0, max_iter)
plt.show()



# ---- Examples for specific target measures -----------------------------


def show_specific_measures():
"""
Show fractals with specific target measures.
"""
target_lambdas = [0.9, 0.7, 0.5, 0.3]


fig, axes = plt.subplots(2, 2, figsize=(12, 12))
axes = axes.flatten()


b = np.array([-1.0, 0.0])
c = np.array([1.0, 0.0])
a = np.array([0.0, 1.0])
initial_triangle = np.array([a, b, c])


for idx, target_lambda in enumerate(target_lambdas):
ax = axes[idx]


# Find r for this lambda
r = find_r_for_lambda(target_lambda)


# Generate fractal
splitter = TriangleSplitterVarying(r, max_iterations=10)
triangles = splitter.fractal(initial_triangle, 10)


# Draw
for tri in triangles:
ax.add_patch(
Polygon(
tri,
closed=True,
edgecolor='black',
facecolor='lightblue',
linewidth=0.3,
)
)


total_area = sum(triangle_area(tri) for tri in triangles)


ax.set_xlim(-1.2, 1.2)
ax.set_ylim(-0.1, 1.2)
ax.set_aspect('equal')
ax.set_title(
f'Target λ = {target_lambda:.1f}\n'
f'r = {r:.4f}\n'
f'Actual area = {total_area:.4f}',
fontsize=11
)
ax.grid(True, alpha=0.3)


fig.suptitle(
'Fractal Sets with Prescribed Measures\n'
'Using r_j = r²/j² and λ = sin(πr)/(πr)',
fontsize=13, fontweight='bold'
)


plt.tight_layout()
return fig



# ---- Main ----------------------------------------------------------------


if __name__ == "__main__":
print("Fractal Construction with Prescribed Measure")
print("=" * 60)
print("\nTheory: For r_j = r²/j², the limiting measure is:")
print("λ = sin(πr)/(πr)")
print("\nThis allows constructing a set with ANY measure λ ∈ (0,1)")
print("by choosing appropriate r ∈ (0,1)")
print("=" * 60)


# Example calculations
print("\nExamples:")
for target_lambda in [0.9, 0.7, 0.5, 0.3, 0.1]:
r = find_r_for_lambda(target_lambda)
actual_lambda = compute_measure_sinc(r)
print(f" Target λ = {target_lambda:.1f} → r = {r:.6f} → λ = {actual_lambda:.6f}")


print("\n" + "=" * 60)
print("Generating visualizations...")
print("=" * 60)


# Generate static visualizations
fig1 = visualize_fractal_with_measure(r=0.5, max_iterations=8)
fig1.savefig('fractal_iterations.png', dpi=150, bbox_inches='tight')


print("✓ Saved: fractal_iterations.png")


fig2 = show_specific_measures()
fig2.savefig('fractal_specific_measures.png', dpi=150, bbox_inches='tight')
print("✓ Saved: fractal_specific_measures.png")


# Launch interactive visualization
print("\nLaunching interactive visualization...")
print("Use sliders to explore different values of r and iterations")
interactive_measure_exploration()


11-1月日記

12 月 GoodNoteをやめてNotefulをipadのアプリで使おうかな。

1月:
vim v コマンドを押して, visual mode それから, カーソル選択して $X$で範囲削除できる。

:set paste でvimでの貼り付けモードになって、普通のモードで春より綺麗に貼れる。終わったら, `:set nopaste`

AWS: 二つのcloud watch metricがあったときに、`add Math` みたいなところから percentageがある。それで, 二つのmetricのグラフ名(初期はm1, m2みたいな名前のやつ) があるから, それの割り算をいい感じにすればおk m1, m2と同じ列にpercentageで作ったやつの名前変えられるところある。

graph metricsのy-axisの<, >で, 右の縦軸か左の縦軸にmetricの値が載るかが決まる。

 

karabiner-Elements で mac のcaps_lockをかな変換にするスクリプト

{
"description": "Toggle Japanese Kana / Eisuu with CapsLock (CapsLock disabled)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"conditions": [
{
"type": "variable_if",
"name": "kana_mode",
"value": 0
}
],
"to": [
{
"set_variable": {
"name": "kana_mode",
"value": 1
}
},
{ "key_code": "japanese_kana" }
]
},
{
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"conditions": [
{
"type": "variable_if",
"name": "kana_mode",
"value": 1
}
],
"to": [
{
"set_variable": {
"name": "kana_mode",
"value": 0
}
},
{ "key_code": "japanese_eisuu" }
]
}
]
}

 teeコマンドで, MySQLの操作を記録できる。

sed -i " "s/^/'/" hoge(編集対象ファイル) 

で, 各行の先頭にシングルクォート’ を追加する。(” ” は, バックアップを作らない。事を言っている。これを仮に書いて置いとかないと動かないっぽい。 )
-i

はin place 編集(直接編集) .

s/^/'/" 

の部分は置換パターンを表す。(s/で置換。 ^が行頭. )

簿記勉強メモ

 

区分勘定科目略語
資産現金C
資産当座預金D
資産売掛金UK
資産仕掛品WIP
資産繰延税金資産DTA
負債買掛金KK
負債繰延税金負債DTL
負債未払金未ば
負債未払配当金未は
負債未払法人税等未ほ
負債前受金前う
負債契約負債けL
負債返金負債へL
負債修繕引当金修引
負債賞与引当金賞引
純資産資本金K
純資産資本準備金KJ
純資産利益準備金RJ
純資産繰越し利益剰余金くR^+
費用棚卸減耗損TG
費用商品評価損SH
費用減価償却費Dep
費用固定資産売却損国-
費用固定資産除却損国/-
費用固定資産破棄損国R-
収益国庫補助金受贈益国+
収益固定資産売却益固+
収益保険差益保+
収益受取手数料う手
収益受取配当金う配
収益雑益Z+
収益為替差益為+

 

  • 関節(間接)消耗したら補助ほしい。(材料費:補助材料費、工場消耗品は関節材料費

$S_{n-1}$の双対幾何1.

ここからは, $4$つ組$(S,g,\nabla^{(e)},\nabla^{(m)})$を統計多様体という.

\[
p(\omega) = \sum_{a=1}^{n-1}\\eta_i \delta_i(\omega) + (1 – \sum_{a=1}^{n-1} \eta_i ) \delta_n(\omega)
\]
は, $\nabla^{(-1)}=\nabla^{(m)}$- アファイン座標系であることをみた.
\[
\frac{\partial}{\partial \xi^a}p(\omega) = \delta_a(\omega) – \delta_n(\omega)
\]
だから, $\nabla^{(m)}$の接続係数
\[
\Gamma_{ij,k}^{(m)} =\Gamma_{ij,k}^{(-1)} =\sum_{\omega=1}^n (\partial^i \partial^j p(\omega)) (\partial^k \log p(\omega)) =0
\]
が$1\leq i,jk,\leq n-1$で成立する.
ユークリッドの接続では, 大域的にクリストッフェル記号が$0$だから, 接続$\nabla^{(m)}$は, ユークリッド接続を$S$に制限してものに一致する.

そこで, $(\eta_i)$の双対アファイン座標系をみる. $\nabla^{(e)}=\nabla^{(+1)} $の接続係数
\[
\Gamma_{ij,k}^{(e)} =\Gamma_{ij,k}^{(1)} =\sum_{\omega=1}^n (\partial_i \partial_j \log p(\omega)) (\partial_k  p(\omega))
\]
の形から, $\log p$を見る必要があることがわかる.
そこで, $\log p$を書き換える.
任意の$1 \leq \omega \leq n-1$に対して,
\[
\log p(\omega) = \sum_{i=1}^{n-1} \left( \log \frac{p(i)}{p(n)}\right) + \log p(n)
\]
と書き直せる. これは, 任意の$1 \leq i \leq n-1$に対して, $ \log p(n) \delta_i(\omega)=0$であることから, $\sum_{i=1}^{n-1} \log p(n) \delta_i(\omega)=0$であることからわかる.
ここで, 任意の$1 \leq i \leq n-1$にたいして,
\[
\theta^i := \log \frac{p(i)}{p(n)}
\]
とおく. 確率分布であること$\sum_{\omega =1}^n p(\omega) =1$と $e^{\theta^i }=\frac{p(i)}{p(n)}$から$\sum_{i=1}^{n-1}e^{\theta^i }=\sum_{i=1}^{n-1}  \frac{p(i)}{p(n)}$であることに注意すると,
\[
1+\sum_{i=1}^{n-1}e^{\theta^i } = 1+   \frac{\sum_{i=1}^{n-1} p(i)}{p(n)} =    \frac{\sum_{i=1}^{n} p(i)}{p(n)} = \frac{1}{p(n)}
\]
したがって,
\[
p(n) =\frac{1}{1+\sum_{i=1}^{n-1}e^{\theta^i }}
\]
という関係式が成り立ち,
前の方にあった$\log p(\omega)$は
\[
\log p(\omega) = \sum_{i=1}^{n-1} \theta^i \delta_i(\omega) – \log \left( 1+\sum_{i=1}^{n-1}e^{\theta^i } \right)
\]
であることがわかる.
更に, この式の右側の部分を$\psi$とおく: つまり,
\[
\psi(\theta) := \log \left( 1+\sum_{i=1}^{n-1}e^{\theta^i } \right) = -\log p(n)
\]
とおく.
こうすると, 結局のところ, $\log p(\omega)$は
\[
\log p(\omega) = \left( \sum_{i=1}^{n-1} \theta^i \delta_i(\omega) \right) – \psi(\theta)
\]
と書ける.
ここで, $\theta = (\theta^1, \ldots, \theta^{n-1})$を$S$の座標系として計算をする.
$\partial_j \log p(\omega) = \delta_j(\omega) -\partial_j \psi(\theta)$であって, $\partial_i \partial_j \log p(\omega) = -\partial_i \partial_j \psi(\theta)$である. つまり, $\partial_i \partial_j \log p(\omega) $は$\omega$に依存しない.  だから, この座標系での接続係数は,
\[
\Gamma_{ij,k}^{(e)}= – (\partial_i \partial_j \psi(\theta)) \sum_{\omega =1}^n  \partial_k p(\omega) = \partial_k( \sum_{\omega =1}^n   p(\omega) ) = \partial_k(1) =0
\]
となって, $(\theta^i)$が$\nabla^{(e)}$のアファイン座標系になっていることがわかる.

さて, 実は$(\eta_i)$と$(\theta^j)$は双対アファイン座標系になっていることがわかる.
それには例によって, $1\leq i,j \leq n-1$, $1\leq \omega \leq n$においては, $\delta_n(\omega)\delta_j(\omega)=0$であることと, $\frac{\partial \psi}{\partial \theta^j}$が$\omega$に依らないことに注意する.
\begin{align}
g(\frac{\partial \psi}{\partial \eta_i}, \frac{\partial}{\partial \theta^j})&= \sum_{\omega =1}^n (\delta_i(\omega)-\delta_n(\omega)) \left( \delta_j(\omega) – \frac{\partial \psi}{\partial \theta^j} \right) \\
&=\sum_{\omega =1}^n (\delta_i(\omega)-\delta_n(\omega)) \delta_j (\omega) \\
& \delta_{ij}
\end{align}

指数型、混合型接続と期待値、平行移動

Definition.

\[
E_p[f] = \sum_{\omega\in \Omega} p(\omega) f(\omega)
\]
で, 確率分布$p$の下での確率変数$f$の期待値を表す.

Lemma.

$q,r \in S_{n-1} (= \mathcal{S})$と$0\leq \lambda \leq 1$に対して,
\[
E_{\lambda q + (1-\lambda) r} [F] = \lambda E_q[F] + (1-\lambda) E_r[F]
\]

Proposition.

\[
g(X,Y) = \sum_{\omega\in \Omega} (Xp(\omega))  (Y\log p(\omega) )
\]

\[
g(\nabla^{(e)}_X Y, Z)= \sum_{\omega\in \Omega} (XY\log p(\omega))  (Z p(\omega) )
\]

\[
g(\nabla^{(m)}_X Y, Z)= \sum_{\omega\in \Omega} (XYp(\omega))  (Z\log p(\omega) )
\]

[proof]
(i)
\[
\partial_j \log p(\omega) = \frac{\partial_j p(\omega)}{p(\omega)}
\]
を使うと, Fisher計量であることに注意すれば, 任意の$k$に対して,
\[
g(\partial_k, Y) = \sum_{\omega\in \Omega} p(\omega) (\partial_k \log p(\omega)) (Y\log p(\omega) = \sum_{\omega\in \Omega} (\partial_k p(\omega)) (Y\log p(\omega)
\]
から分かる.

(ii)
\[
g(\nabla^{(-1)}_{\partial_i} \partial_j,\partial_k) = \Gamma_{ij,k}^{(-1)} = \sum_{\omega =1}^n  (\partial_i \partial_j p(\omega) ) (\partial_k \log p(\omega))
\]
であることに注意するとわかる.

(iii)
\[
g(\nabla^{(1)}_{\partial_i} \partial_j,\partial_k) = \Gamma_{ij,k}^{(1)} = \sum_{\omega =1}^n p(\omega) (\partial_i \partial_j \log p(\omega) ) (\partial_k \log p(\omega))
\]
であることに注意すると分かる.
[/proof]

接続の双対性(再掲) . これを, 期待値, Fisher計量を使うと, 機械的に証明できる.

Proposition.

\[
Xg(Y,Z) = g(\nabla^{(e)}_X Y, Z) + g(\nabla^{(m)}_Y X, Z)
\]

積の微分を考えれば,
[proof]
\begin{align}
Xg(Y,Z) & = X\{ \sum_{\omega\in \Omega} (Yp(\omega))  (Z\log p(\omega) ) \} \\
&= \sum_{\omega\in \Omega} (XZ\log p(\omega))  (Y p(\omega) ) \\
&+ \sum_{\omega\in \Omega} (XYp(\omega))  (Z\log p(\omega) ) \\
&= g(\nabla^{(e)}_X Y, Z) + g(\nabla^{(m)}_Y X, Z)
\end{align}
[/proof]

$\nabla^{(e)}$, $\nabla^{(m)}$に関する平行移動をみてみる.

Definition.

$2$点$p,q \in S$に対し,
(i)
\[
\Pi^{(m)} \colon T_p^{(m)}S \to T_q^{(m)}S; f\mapsto f
\]
で定まる平行移動を混合型平行移動, あるいは, $m$-平行移動という.
(ii)
\[
\Pi^{(e)} \colon T_p^{(e)}S \to T_q^{(e)}S; f\mapsto f -E_q[f]
\]
で定まる平行移動を指数型平行移動, $e$-平行移動という.

有限次元の内積の弱収束は, 強収束を導くことを思い出した上で次の定理を示す.

Theorem.

$t=0$で, $p\in S$を通る$X \in \mathcal{X}(S)$の積分曲線を$p_t$とする. つまり, $\dot{p}_t= X_{p_t}$である. 任意のベクトル場$Y \in \mathcal{X}(S)$に対し,
\[
(\nabla^{(m)}_X Y)_{p_0} =  \lim_{t \to 0}\frac{\Pi^{(m)\, t}_0 (Y_{p_t}) -Y_{p_0}  }{t}
\]

\[
(\nabla^{(e)}_X Y)_{p_0} =  \lim_{t \to 0}\frac{\Pi^{(e)\, t}_0 (Y_{p_t}) -Y_{p_0}  }{t}
\]
が成り立つ.


[proof]
$Z \in \mathcal{X}(S)$とする.
(i)
以下では, $2$つめの等号において, $(Y_t p_t)$はベクトル場であって, コレに対して, 共変微分と
平行移動の関係を使えばよい.  つまり,
\begin{align}
& \lim_{t \to 0} \sum_{\omega \in \Omega} \left(  \frac{ \Pi^{(m)\, t}_0 (Y_{p_t}) p_t(\omega)-Y_{p_0}p_0(\omega) }{t} \right) (Z_{p_0} \log p_0(\omega)) \\
&= \lim_{t \to 0} \sum_{\omega \in \Omega} \left(  \frac{  (Y_{p_t}) p_t(\omega)-Y_{p_0}p_0(\omega) }{t} \right) (Z_{p_0} \log p_0(\omega))  \\
&= \sum_{\omega \in \Omega}(XYp(\omega)) (Z_{p_0} \log p_0(\omega)) \rVert_{p=p_0}  \\
&= g_{p_0}( nabla^{(m)}_X Y, Z)
\end{align}
(ii)
以下では, $2$つめの等号において, $(Y_t \log p_t)$はベクトル場であって, コレに対して, 共変微分と
平行移動の関係を使い, $E_{p_0}[Y_t \log p_t]$が$\omega$に依らないことと, $\sum_{\omega \in \Omega} Z_{p_0} p_0(\omega)=0$であることを使えばよい. つまり,
\begin{align}
& \lim_{t \to 0} \sum_{\omega \in \Omega} \left(  \frac{ \Pi^{(e)\, t}_0 (Y_{p_t}) \log p_t(\omega)-Y_{p_0} \log p_0(\omega) }{t} \right) (Z_{p_0} \log p_0(\omega)) \\
&= \lim_{t \to 0} \sum_{\omega \in \Omega} \left(  \frac{  (Y_{p_t}) \log p_t(\omega)-Y_{p_0} \log p_0(\omega) }{t} \right) (Z_{p_0} \log p_0(\omega))  \\
&= \sum_{\omega \in \Omega}(XY(\log p)(\omega)) (Z_{p_0} \log p_0(\omega)) \rVert_{p=p_0}  \\
&= g_{p_0}( nabla^{(e)}_X Y, Z)
\end{align}
[/proof]

Markov埋め込み

Definition.

$n,l$は$2\leq n \leq l$をみたす自然数. 次のように構成される写像$f\colon S_{n-1} \to S_{l-1}$をMarkov埋め込みという.
1) $\Omega_l$を空でない, 互いに交わらない部分集合の族$\{C_1, \ldots, C_n\}$に分割する.

2) 各$j$ (1\leq j \leq n)に対して, $C_j$に台をもつ$\Omega_l$上の確率分布
\[
Q_{(j)} = (Q_{(j)}^1, \ldots, Q_{(j)}^l)
\]
ここで, $Q_{(j)}^k = a1_{C_j}(k)$である($a$は$k,j$に依存する適当な正数).

3) $(y^1,\ldots, y^l) = f(x^1,\ldots, x^n)$を
\[
y^k = \sum_{j=1}^n x^j Q_{(j)}^k
\]
で定義する.

Remark.

(1)を$Q_{(j)}$をつかって言い換える. まず,
任意の$1\leq i \leq n$に対して, 或る$k_i \in \Omega_l$が存在して, $C_{(l)} \ni k_i$である. つまり, $Q_{(j)}^{k_i} >0$で, $Q_{(j)}^{k_i}=0$ ($i \neq j$)

Lemma.

上のようにして作った写像は本当に埋め込み写像である

[proof]
1) 上のRemarkから
\[
\begin{pmatrix}
Q_{(1)}^{1} & Q_{(2)}^{1} & \cdots & Q_{(l)}^{1} \\
Q_{(1)}^{2} & Q_{(2)}^{2} & \cdots & Q_{(l)}^{2} \\
\vdots & \vdots & \ddots & \vdots \\
Q_{(1)}^{n} & Q_{(2)}^{n} & \cdots & Q_{(l)}^{n}
\end{pmatrix}
\]
はランク$n$である. だから, $(df)\colont T_pS_{n-1} \to T_{f(p)}S_{l-1}$は次元定理から単射になる.
2) $S_{n-1}$と$f(S_{n-1})$が同相であることは, $S_{n-1}$がコンパクトで, $f$連続, $f(S_{n-1})$はHausdorffだから, 単射性のみみればよいが, 単射性も上のremarkを
\[
\sum_{j=1}^n (x^j – z^j) Q^k_j= 0
\]
が$1\leq k \leq l$で成立していることと合わせればわかる.
[/proof]

指数型接続と混合接続

 

(i)の二個目の等号は、$S$が対称テンソルだからそう.

$Xg(Y,Z)= g(\nabla_X Y, Z) + g(\nabla_Y X, Z) $で、$\alpha + (-\alpha) = 0$だから, $\alpha S_p(X,Y,Z) + (-\alpha) S_p(X,Z,Y) = \alpha S_p(X,Y,Z) + (-\alpha) S_p(X,Y,Z) = 0$

$g(\nabla^{(\alpha)}_{\partial_i} \partial_j ,\partial_k)= g((\overline{\nabla}_{\partial_i} \partial_j ,\partial_k) – \frac{\alpha}{2} S(X,Y,Z)$

\[
\partial_j \log p(\omega) = \frac{\partial_j p(\omega)}{p(\omega)}
\]
と, $\log$の二回微分の計算
\[
\partial_i\partial_j \log p(\omega)
= \frac{(\partial_i\partial_j p(\omega)),p(\omega)-(\partial_i p(\omega))(\partial_j p(\omega))}{p(\omega)^2}.
\]、あるいは別表現

\[
\partial_i\partial_j \log p(\omega)
= \frac{\partial_i\partial_j p(\omega)}{p(\omega)}-\frac{\partial_i p(\omega),\partial_j p(\omega)}{p(\omega)^2} = \frac{\partial_i\partial_j p(\omega)}{p(\omega)} -\quad  (\partial_i \log p(\omega)) (\partial_j \log p(\omega))
\]
を使う.

上の $\log$の二回微分の計算を使うと,
\begin{align}
\Gamma_{ij,k}^{(-1)} &= \sum_{\omega =1}^n p(\omega) \{ (\partial_i \log p(\omega))(\partial_j \log p(\omega)) + \partial_i\partial_j \log p(\omega)  \} (\partial_k \log p(\omega)) \\
&= \sum_{\omega =1}^n  (\partial_i \partial_j p(\omega) ) (\partial_k \log p(\omega))
\end{align}

\[ \partial_b p(\omega)= \delta_b(\omega) – \delta_n(\omega)  \]だから,
$ \partial_a\partial_b p(\omega)= 0$である.
したがって, $\Gamma_{ij,k}^{(-1)} =0$がわかる.

$\alpha$-接続

$((f_*)T) (X,Y) = T((df)_*X,(df)_*Y)$ ($X, Y \in T_p\mathcal{S}_{n-1}$)は, $(df)_* \colon T_p\mathcal{S}_{n-1} \to T_p\mathcal{S}_{l-1}$ ($n\leq l$)による$\mathcal{S}_{n-1}$上の$(0,2)$テンソルである.
さて, 計量$g$を持っている場合テンソルを上げ下げ($T$と$S$の一対一対応)できるのであった。
だから,
$g_p^{[l]}(T(X, Y),Z)=S_p^{[n]}(X,Y,Z)$と, $g_{f(p)}^{[l]}(((df)_*T)((df)_*X, (df)_*Y),(df)_*Z)=S_p^{[n]}((df)_*X,(df)_*Y,(df)_*Z)$

だから, $(0,3)$テンソルの仮定は, $(0,2)$テンソルのChentsovの定理(に$T$を代入して存在)の仮定でいう
\[
g_p^{[l]}(T(X, Y),Z) = g_{f(p)}^{[l]}(((df)_*T)((df)_*X, (df)_*Y),(df)_*Z)
\]
を導く.

ここで, $T(X,Y)= \overline{\nabla_X^{[n]}}Y$とする ($ \overline{\nabla^{[n]}}$は計量$g$に付随するRiemanian接続. ).
このとき, 次のようにして, $(0,2)$テンソルの Chentsovの定理から,
\[
g_p^{[l]}(T(X, Y),Z) = g_{f(p)}^{[l]}(((df)_*T)((df)_*X, (df)_*Y),(df)_*Z)
\]

が導ける.

それには, $\Gamma_{ij,k}=\frac{1}{2}(\partial_i g_{jk} +\partial_j g_{ki} + \partial_k g_{ij})$
を用いて,
\begin{align}
g_{f(p)}^{[l]}\!\left( \overline{\nabla^{[l]}_{(df)_*X}}(df)_*Y ,(df)_*Z \right)
&= \frac12 \Big\{
((df)_*\partial_i)\, g_{f(p)}^{[l]}\big((df)_*\partial_j, (df)_*\partial_k\big) \\
&\quad + ((df)_*\partial_j)\, g_{f(p)}^{[l]}\big((df)_*\partial_k, (df)_*\partial_i\big)
+ ((df)_*\partial_k)\, g_{f(p)}^{[l]}\big((df)_*\partial_i, (df)_*\partial_j\big)
\Big\} \\
&= \frac12 \Big\{
\partial_i\, g_{p}^{[n]}(\partial_j, \partial_k)
+ \partial_j\, g_{p}^{[n]}(\partial_k, \partial_i)
+ \partial_k\, g_{p}^{[n]}(\partial_i, \partial_j)
\Big\} \\
&= g_{p}^{[n]}\big( \nabla^{[n]}_{X} Y , Z \big).
\end{align}

この上で, $T(X,Y)= \nabla_X^{[n]}Y- \overline{\nabla_X^{[n]}}Y$から導かれる$(0,3)$テンソルの不変性から,
\[
g_p^{[n]}(\nabla_X^{[n]}Y- \overline{\nabla_X^{[n]}}Y,Z)= -\frac{\alpha}{2}S_p^{[n]}(X,Y,Z)
\]
をみたす. つまり, $(\nabla^{[n]}$と$\alpha$が一対一に対応する.

ここまでの一連の示したことを、定理の形に書くと次のようになる。

Theorem.

Markov埋め込みの下で, 計量の不変性を満たすとき,
当該のRiemann計量は,
\[
g_p(X,Y) = \sum_{\omega =1}^n p(\omega)(X\log p(\omega))(Y\log p(\omega))
\]
に限られる.

不変性を満たすアファイン接続$\nabla^{\alpha}$では,
\[
g_p^{[n]}(\nabla_X^{\alpha}Y,Z)= g_p^{[n]}(\overline{\nabla_X^{[n]}}Y,Z) -\frac{\alpha}{2}S_p^{[n]}(X,Y,Z)
\]
により, 実数$\alpha$と一対一に対応する.
ここで, $S_p$は, $(0,3)$-テンソルのChentovの定理で出てきた
\[
S_p(X,Y,Z)= \sum_{\omega =1}^n p(\omega)(X\log p(\omega))(Y\log p(\omega))(Zlog p(\omega))
\]

Definition.

上の定理での$g$をFisher計量, $\nabla^{\alpha}$を$\alpha$接続という.

Chentsovの定理(1: (0,2)-テンソルの場合)

アファイン写像は凸結合を保つので、次のような補題がわかる.

Lemma.

(V) と (W) を実ベクトル空間とする。
写像 ($f : V \to W$) がアフィン、すなわち
\[
f(x)=A x + a
\]
((A) は線形写像、($a\in W$))
であるとする。このとき、任意の点$ (x_1,\dots,x_m\in V)$ と凸結合
\[
x=\sum_{i=1}^m \lambda_i x_i,\qquad
\lambda_i\ge 0,\ \sum_{i=1}^m \lambda_i=1,
\]
に対して、
\[
f(x)=\sum_{i=1}^m \lambda_i f(x_i)
\]
が成り立つ。

[proof]
アフィン性より
\[
f(x)=A\left(\sum_{i=1}^m \lambda_i x_i\right)+a
=\sum_{i=1}^m \lambda_i A x_i + a
=\sum_{i=1}^m \lambda_i (A x_i + a)
=\sum_{i=1}^m \lambda_i f(x_i).
\]
[/proof]
前補題を ($\lambda_i=1/n$) に適用すればよい
Lemma.

$(v_1,\dots,v_n\in V) $の重心
\[
b=\frac1n\sum_{i=1}^n v_i
\]
に対し、アフィン写像 ($f:V\to W$) は
\[
f(b)=\frac1n\sum_{i=1}^n f(v_i)
\]
を満たす。

 

Theorem.

$\mathcal{S}_{n-1}$上の(0,2)テンソル場$g^{[n]}$からなる列$\{g^{[n]} \mid n=2,3,\ldots, \}$であって, 任意のMarkov埋め込み$f$に関する不変性
\[ g^{[n]}_p(X,Y) = g^{[n]}_{f(p)} (f_*X, f_*Y) \]
を満たすものは定数倍を除いて、
\[.g^{[n]}_p(X,Y)= \sum_{\omega =1 }^n p(\omega)(X \log p(\omega))(Y \log p(\omega)) \]
に限られる.

[proof]
[Step. 0]
Markov埋め込み写像$f\colon \mathbb{R}^n_{>0} \to \mathbb{R}^l_{>0}$に次のようにして自然に拡張される:つまり,
\[
f\colon \mathbb{R}^n_{>0} \to \mathbb{R}^l_{>0}; (x^1, \ldots, x^n) \mapsto (\sum_{j=1}^n x^jQ^{1}_{(j)}, \ldots, \sum_{j=1}^n x^jQ^{l}_{(j)})
\]
であって, $f\rvert_{S_{n-1}}$は$S_{n-1}$上では, $S_{l-1}$にはいる($f(S_{n-1})\subset S_{l-1} \subset R^{l-1}_{>0}$.)
が, 別に, $f\rvert_{\mathbb{R}^{n}_{>0} \setminus S_{n-1}}$は別に$S_{l-1}$にはいらなくてもいい.

[Step.1]
$\mathcal{S}_{n-1}$の重心
\[ p_0=(\frac{1}{n},\ldots,\frac{1}{n})\]
で考える. Markov埋め込みによる不変性の特殊なケースとして、$l=n$の場合, つまり、(ラベルを入れ替える写像として$f$を考えるということ。)事象のラベル付けの不変性から、
\[. g^{[n]}_{p_0}(\frac{\partial }{\partial x^i},\frac{\partial }{\partial x^i}) \]
は$1\leq i \leq n$によらない。 また$1\leq i\neq j \leq n$に対し,
\[. g^{[n]}_{p_0}(\frac{\partial }{\partial x^i},\frac{\partial }{\partial x^j}) \]
は$i,j$によらない。
したがって,
ある定数の列$A^{[n]},B^{[n]}$が存在して,
\[ g^{[n]}_{p_0}(\frac{\partial }{\partial x^i},\frac{\partial }{\partial x^j}) = \delta_{ij}A^{[n]} + B^{[n]} \]
となる. (実際, $A^{[n]}= g^{[n]}_{p_0}(\frac{\partial }{\partial x^1},\frac{\partial }{\partial x^1})$, $B^{[n]}$を$g^{[n]}_{p_0}(\frac{\partial }{\partial x^1},\frac{\partial }{\partial x^2})$とおけばよい。)
実は, $B^{[n]}=0$としても一般性が失われないことが次のようにしてわかる:
まず, $X\in T_{p_0}\mathcal{S}$を
\[X=\sum_i X^i \frac{\partial }{\partial x^i}\]
と成分表示すると,
\[\sum_i X^i =0\]
となる。何故ならば、$\mathbb{R}^n_{>0}$上の関数$h(x^1,\ldots,x^n)=x^1+\cdots + x^n$は$\mathcal{S}_{n-1}$上は常に値$1$を取る定数関数だから, $X(h)=X(1)=0$である. したがって,
\[ 0=X(h)=X(\sum_i  x^i) = (\sum_i X^i \frac{\partial }{\partial x^i})(\sum_i  x^i) = \sum_i X^i \]
以上により, 任意の$X,Y \in T_{p_0}\mathcal{S}$に対し,
\[. g^{[n]}_{p_0}(X,Y) = \sum_{i,j=1}^n X^iY^j(\delta_{ij}A^{[n]} + B^{[n]} ) = A^{[n]}   \sum_{i=1}^n X^iY^i \]
となるから、$B^{[n]}=0$としても一般性が失われない。(X^i, Y^i一方のみのときは直前のことから消える。)
[Step2] 任意の$l$に対して、ある自然数$k$が存在して, $l=nk$となっている状況で、
\begin{align}
f(x^1,\ldots,x^n)&=(\frac{x^1}{k},\ldots,\frac{x^1}{k}, \ldots, \frac{x^n}{k},\ldots,\frac{x^n}{k},) \\
&=: (y^{1_1},\ldots, y^{1_k},\ldots,y^{n_1},\ldots, y^{n_k})
\end{align}
という$\mathcal{S^{l-1}}\subset \mathbb{R}^{l}$へのMarkov埋め込みを考える。
実際、 $1\leq j \leq n$に対して, $C_{(j)}=\{(j-1)k+1,\ldots, jk\}$とし, $Q_{(j)}=(\frac{1}{k}1_{C_{(j)}}(1),\ldots, \frac{1}{k}1_{C_{(j)}}(n))$とすれば確かにMarkov埋め込みの条件を$f$が満たしていることがわかる。
さて, このとき, $f_{*}\colon T_p \mathcal{S}_{n-1} \to T_p \mathcal{S}_{l-1}$を考えると, これは、 $\frac{\partial }{\partial x^i}\mapsto \sum_{j=1}^{l} \frac{\partial y^j}{\partial x^i} (\frac{\partial }{\partial y^j} )= \frac{1}{k} \sum_{r=l}^n \frac{\partial }{\partial y^l} $
であり、$\mathcal{S^{l-1}}$の重心$p_0$の$f$による像は$f$の定義から, $\mathcal{S}_{l-1}$の重心である。

実際, 行列 (A\in\mathbb{R}^{(nk)\times n}) による線形写像

\[
y = A x
\]
で表せる。ここで (A) の成分は次のようになる:行番号を $( (i-1)k + j) ((i=1,\dots,n), (j=1,\dots,k))$と取ると
\[
A_{(i-1)k + j, \ell} =
\begin{cases}
1 & (\ell=i) \\
0 & (\ell\neq i)
\end{cases}.
\]

したがって、不変性により,
\begin{align}
A^{[n]} &= g^{[n]}_{p_0}(\frac{\partial }{\partial x^i},\frac{\partial }{\partial x^i}) \\
&=g^{[n]}_{f(p_0)}(f_*\frac{\partial }{\partial x^i},f_*\frac{\partial }{\partial x^i}) \\
&=g^{[n]}_{f(p_0)}( \frac{1}{k} \sum_{r=1}^n \frac{\partial }{\partial y^l}  , \frac{1}{k} \sum_{r=1}^n \frac{\partial }{\partial y^l} )\\
&= \frac{1}{k^2} \sum_{r,s =1}^n g^{[n]}_{f(p_0)}(  \frac{\partial }{\partial y^l}  ,  \frac{\partial }{\partial y^l} ) \\
&= \frac{1}{k^2} \sum_{r,s =1}^n \delta_{i_r,i_s} A^{[l]} \\
&=\frac{1}{k} A^{[l]}
\end{align}
これにより,

\[
\frac{A^{[n]}}{n} = \frac{A^{[l]}}{nk} = \frac{A^{[l]}}{l}
\]

したがって、ある定数$\lambda$が存在して,
\[
A^{[n]}= \lambda n
\]
となる.
[Step3.] 今までの計算を使って、$(0.2)$テンソルの中身の基底の計算が別の場合を示していく。

$\mathcal{S}_{l-1}$上の有理点$p$を任意にとり, それを共通の分母$l$にもつ(通分しておくということ)分数で,
\[
p = (\frac{m_1}{l},\ldots, \frac{m_n}{l})
\]
と表しておく.、
そして,
\begin{align}
f(x^1,\ldots,x^n)&=(\frac{x^1}{m_1},\ldots,\frac{x^1}{m_1}, \ldots, \frac{x^n}{m_n},\ldots,\frac{x^n}{m_n},) \\
&=: (y^{1_1},\ldots, y^{1_k},\ldots,y^{n_1},\ldots, y^{n_{m_n}})
\end{align}

ここで, 一般に
\[
\sum_{r=1}^{m_1} \sum_{s=1}^{m_2} \delta_{rs} = \sum_{r=1}^{m_1} 1_{\{ s \mid s\leq m_2 \}}(r)=m_1 \wedge m_2
\]
であるから,
\[
\frac{1}{m_i m_j}\sum_{r=1}^{m_i} \sum_{s=1}^{m_j} \delta_{ij} \delta_{rs} A^{[l]} = \frac{\delta_{ij}}{m_i m_j} \times (m_i \wedge m_j ) A^{[l]} = \frac{\delta_{ij}}{m_i \vee  m_j} A^{[l]}
\]
となることに注意する.

すると、任意の点$p\in \mathcal{S}_{l-1}$に対し
\[p(\omega) = \sum_{a=1}^{n-1}\xi^a \delta_a(\omega) + (1 – \sum_{a=1}^{n-1} \xi^a ) \delta_a(\omega) \]
をみたす正の実数の組$(\xi^1,\ldots, \xi^{n-1})$が唯一つ定める($\xi^1(p),\ldots, \xi^{n-1}(p)$に関する微分方程式が解けるからそういうこと。)。
$a$方向に偏微分すると,
\[
\frac{\partial}{\partial \xi^a}p(\omega) = \delta_a(\omega) – \delta_n(\omega)
\]
がわかる.

$1\leq a,b \leq n$に対して, $\delta_a(\omega)\delta_n(\omega)=0$, $\delta_b(\omega)\delta_n(\omega)=0$であることに注意すればよい.

[/proof]

双対平坦と幾何構造

  • Hesse幾何ってやつと関連している。

    参考: 【情報幾何学】指数型分布族が定めるHesse構造

    Definition.

    双対構造$(g,\nabla, \nabla^*)$を持つ多様体$M$において, $\nabla$に関する曲率$R$も捩率$T$も共に$0$となり, かつ$\nabla^*$に関する曲率$R^*$も捩率$T^*$も共に$0$になるとき, $M$は双対平坦と呼ばれる.

    Remark.

  •  このあと, 5.3節で双対平坦な多様体として統計多様体を考えたい。
  •  また、 $R=0$, $R^*=0$が同値だから実は冗長。

Theorem.

$(A_{ij}),(A_{ij}) \in M_{n\times n}(\mathbb{R})$に対して, $A_{ij}=\sum_{j=1}^n B_{ik}A_{kj}$ならば, $B_{ij}=E_n$


Remark.

これは行列の積の定義から当たり前ではあるが、見方として$e_k=(A_{k1} A_{k2}\ldots A_{kn})$とおくと, 仮定の式は, $e_{l}=\sum_{k=1}^n B_{lk}e_k$と書き直せて, $\sum_{k=1}^n (B_{lk}-\delta_{ik})e_k=0$であることからもわかる.

Theorem.

双対構造$(g,\nabla, \nabla^*)$に関して双対平坦な多様体$M$では, 各点の周りで
\[g\left( \frac{\partial }{\partial x^i}, \frac{\partial }{\partial y^j}\right)=\delta_{ij}\]
を満たす局所$\nabla$-アファイン座標系$(x^i)$と局所$\nabla^*$-アファイン座標系$(y^j)$の組$\{(x^i),(y^j)\}$を取ることができる.

[proof]

\[ \frac{\partial}{\partial \eta^j} = \frac{\partial y^k}{\partial \eta^j} \frac{\partial}{\partial y^k}\]
こうして作ったアファイン座標系の組$\{(x^i),(y^j)\}$が, 点$p_0$だけでなく, 全ての点$p\in U \cap V$で
\[g_p\left( \left( \frac{\partial }{\partial x^i}\right)_p, \left( \frac{\partial }{\partial y^j}\right)_p\right)=\delta_{ij}\]
を満たすことを示すことになるが、これは任意の$X\in \mathcal{X}(M)$に対して,
\begin{align*}
Xg\Big( \frac{\partial}{\partial x^i}, \frac{\partial}{\partial y^j} \Big)
&= g\Big( \nabla_X \frac{\partial}{\partial x^i}, \frac{\partial}{\partial y^j} \Big)
+ g\Big( \frac{\partial}{\partial x^i}, \nabla^*_X \frac{\partial}{\partial y^j} \Big) \\
&= 0
\end{align*}

となることからわかる。実際、
\[
f(p) = g_p\Big( \big(\frac{\partial}{\partial x^i}\big)_p, \big(\frac{\partial}{\partial y^j}\big)_p \Big)
\]
とおくと、今の式は
\[
Xf = 0
\]
を言っており、これはまさしく
\[
df(X) = 0
\]
すなわち
\[
df = 0
\]
である($f$ は連結成分上で定数)。

最後の等号では、$(x^i)$ が $\nabla$-アファイン座標系、$(y^j)$ が $\nabla^*$-アファイン座標系であること、すなわち
\[
\nabla_X \Big( \frac{\partial}{\partial x^i} \Big) = 0, \quad
\nabla^*_X \Big( \frac{\partial}{\partial y^j} \Big) = 0
\]
であることを用いた。加えて、$1 \le j \le n$ に対して、
\[
\nabla_{\frac{\partial}{\partial x^j}} \Big( \frac{\partial}{\partial x^i} \Big)
= \Gamma_{ij}^k \frac{\partial}{\partial x^k}
\]
において、$\Gamma_{ij}^k = 0$ だから
\[
\nabla_X \Big( \frac{\partial}{\partial x^i} \Big) = 0
\]
が導かれる。

[/proof]

Definition.

上記の定理の性質を有する局所$\nabla$-アファイン座標系$(x^i)$と局所$\nabla^*$-アファイン座標系$(y^j)$の組$\{(x^i),(y^j)\}$を双対アファイン座標系という。

Lemma.

双対アファイン座標系$\{(\theta^i), (\eta_i)\}$に関する計量$g$の成分を
\[g_{ij}:=g(\partial_i,\partial_j),\quad g^{ij}:=g(\partial^i,\partial^j)\]
とおくと,
\[g_{ij}=\partial_i \eta_j=\partial_j\eta_i\quad g^{ij}=\partial^i \theta^j= \partial^j\theta^i, \quad g_{ij}g^{jk}=delta_i^k\]
が成り立つ.

[proof]
座標変換則
\[\partial_i = \frac{\partial \eta_k}{\partial \theta^i}\partial^k, \quad \partial^i = \frac{\partial \theta^k}{\partial \eta_i}\partial_k \]
より,
\[g_{ij}=g(\frac{\partial \eta_k}{\partial \theta^i}\partial^k,\partial_j)=\frac{\partial \eta_k}{\partial \theta^i}g(\partial^k,\partial_j)=\frac{\partial \eta_k}{\partial \theta^i}\delta_j^k=\frac{\partial \eta_j}{\partial \theta^i}\]
となる. つまり, $g_{ij}$は座標変換$(\eta_i) \mapsto (\theta^i)$のJacobi 行列である.  計量$g$の対称性から$g_{ij}=g_{ji}$は明らかである.
[/proof]

Lemma.

或る$C^{\infty}$関数の組$\{\psi(\theta^1,\ldots,\theta^n), \phi(\eta_1,\ldots,\eta_n)\}$が存在して,
\[\theta_i = \partial_i\psi, \quad \theta^i = \partial^i\phi,\quad psi(\theta^1,\ldots,\theta^n) + \phi(\eta_1,\ldots,\eta_n) -\theta^i\eta_i =0 \]

[proof]
前補題の一個目の等式から, $\partial_i \eta_j=\partial_j\eta_i$であって, これは$\eta_i = \partial_i \psi$となるポテンシャル関数$\psi$の存在を意味している. 実際, 前補題と計量$g$の対称性から, 可積分性$\partial_j \partial_i \psi = g_{ij}  = g_{ji}= \partial_i \partial_j \psi$がわかる.  更に多様体は局所ユークリッドだから, 必要があれば座標系の近傍を小さくとれば$\theta$のdomainが単連結となるように取れる. したがって, $\eta_i = \partial_i \psi$ ($i=1,2\ldots$) という連立偏微分方程式の解$\psi$が存在することがわかる.

同様に, $\partial^i \theta^j=\partial^j\theta^i$は$\theta^i = \partial^i \varphi$となるポテンシャル関数$\varphi$の存在を意味している. そして$\psi+\varphi -\theta^i \eta_i$を全微分すると, 積の微分から
\begin{align}
d(\psi+\varphi -\theta^i \eta_i)&=d\psi+d\varphi -(d\theta^i ) \eta_i -\theta^i  (d\eta_i ) \\
& = (\partial_i \psi)d\theta^i + (\partial^i \varphi)d\eta_i – \eta_i (d\theta^i ) -\theta^i  (d\eta_i )\\
& =0
\end{align}
となるから, 関数$\psi+\varphi -\theta^i \eta_i$は定数関数であることがわかる. そこで, ポテンシャル関数$\psi,\phi$に登場する任意積分定数$C$をうまく選ぶことで, 恒等的に
\[ \psi+\varphi -\theta^i \eta_i =0\]
となるようにできる.
[/proof]

自明ではあるが, 結構大事な正定値性の補題をここで示す。

Lemma.

$\{(\frac{\partial}{\partial x_i})\} \subset T_p M$とする. さらに, $g_{ij} = g\left( \frac{\partial}{\partial x_i}, \frac{\partial}{\partial x_j} \right)$とする. このとき, $g_{ij}$は正定値である. つまり, 任意の$ v= (v_1,\ldots, v_n) \neq 0$に対して,
\[v^T(g_{ij})v > 0\]

[proof]
\[v^T(g_{ij})v = \sum_{ij}g_{ij}v_i v_j = g(v,v) \]
からわかる.
[/proof]

Lemma.

$u\in \R^n$, $\nabla^2 f(u)$が正定値行列ならば、$f$が狭義凸関数である.
(ちなみに半正定値と、広義凸の場合なら同値の関係になってる。)

この$2$つに注意すると次の補題が示せる.
Lemma.

前補題の$C^{\infty}$関数の組$\{\psi(\theta^1,\ldots,\theta^n), \phi(\eta_1,\ldots,\eta_n)\}$は計量$g$と
\[g_{ij} = \partial_i\partial_j \psi=(\nabla_{\theta}^2 \psi)_{ij},\quad g_{ij} = \partial^i\partial^j \varphi =(\nabla_{\eta}^2 \varphi)_{ij}\]
で関連付けられる。したがって, $\psi$は$(\theta^1, \ldots,\theta^n )$に関する狭義凸関数, $\varphi$は$(\eta_1,\ldots, \eta_n)$に関する狭義凸関数である.

[proof]
4つ前と, 3つ前の等式のそれぞれ同じ番目に現れるものをくみあわせればわかる。 また, $g_{ij}$も$g^{ij}$も2つ前の補題から, 正定値であって、対称性が計量$g$の対称性から明らかである。したがって, $\psi$も$\varphi$も狭義凸関数である.
[/proof]

Lemma.

点$p\in M$の$\theta$座標と$\eta$座標をそれぞれ
\[\theta(p)=(\theta^1(p),\ldots,\theta^n(p)),\quad \eta = (\eta_1,\ldots,\eta_n)\]
とあらわすとすると、以前の補題の$C^{\infty}$級$\{\psi(\theta^1,\ldots,\theta^n), \varphi(\eta_1,\ldots,\eta_n)\}$は互いにLegendre変換
\[ \varphi(\eta(p))=\max_{q\in M}\left\{ \theta^1(q)\eta_i(p)- \psi(\theta(q))\right\}  \]
\[ \psi(\theta(p))  =\max_{q\in M}\left\{ \eta_i(q)\theta^i(p) – \varphi(\eta(q)) \right\} \]
で与えられる.

[proof]
点$p$を固定し, 関数$q \mapsto \theta^i(q)\eta_i(p)-\psi(\theta(q))$を微分してみると, (二つ前の補題の最後の主張を使うと, )
\begin{align}
d(\theta^i(q)\eta_i(p)-\psi(\theta(q))) &= (\frac{d(\theta^i(q)\eta_i(p)-\psi(\theta(q))) }{d \theta^i}) d\theta^i(q) \\
& = (\eta_i(p)-\partial_i \psi(\theta(q))) d\theta^i(q)  \\
& = (\eta_i(p)- \eta_i(q)) d\theta^i(q)
\end{align}

だから, 一個目の所望の等式はmax は, 全ての$1\leq i \leq n$で$\eta_i(p)= \eta_i(q)$, すなわち$p=q$のときそのときに限り達成されて, その最大値は$ \theta^1(q)\eta_i(p)- \psi(\theta(q))$となる. これに二つ前の補題の最後の主張を使うと, $ \varphi(\eta(p))$がわかる.
[/proof]

Definition.

$M$を双対構造$(g,\nabla,\nabla^*)$に関する双対平坦多様体とする。2点$p,q\in M$に対して定まる量
\[ D(p||q) :=  \psi(\theta(p)) +  \varphi(\eta(q)) – \theta^i(p)\eta_i(q) \]

を$\nabla$-ダイバージェンスという. ここで, $\{(\theta^i), (\eta_i)\}$は$M$の大域的な双対アファイン座標系である。

次に, 今定義した$D(p||q)$の値が座標系によらないことを次の補題で示す。

Lemma.

$\{(\theta^i), (\eta_i)\}$, $\{(\tilde{\theta}^{lamba}), (\tilde{\eta}_{\lamba})\}$をそれぞれ, $M$の任意の双対アファイン座標系とし, それぞれの双対ポテンシャルを$\{\psi(\theta), \varphi(\eta)\}$と$\{\tilde{\psi}(\tilde{\theta}), \tilde{\varphi}(\tilde{\eta})\}$とかくと,
\[. \psi(\theta(p)) +  \varphi(\eta(q)) – \theta^i(p)\eta_i(q) = \tilde{\psi}(\tilde{\theta}(p)) +  \varphi(\tilde{\eta}(q)) – \tilde{\theta}^{\lamba}(p)\tilde{\eta}_{\lamba}(q) \]

[proof]
前章最後の補題から, アファイン座標同士は、或るアファイン変換で関連づけられている:
\[ \tilde{\theta}^{\lambda} = ( A_{i}^{\lambda} \theta^i + a^{\lambda} ,\quad \tilde{\eta}_{\lambda} = (B_{\lambda}^{j}\partial_j \psi+ b_{\lambda} )\]

\[ \frac{\partial}{\partial \theta^i} = \sum_{\lambda =1}^n \frac{\partial \tilde{\theta}^{\lambda}}{\partial \theta^i} \frac{\partial}{\partial \tilde{\theta}^{\lambda}} =  \sum_{\lambda =1}^n A_i^{\lambda} \frac{\partial}{\partial \tilde{\theta}^{\lambda}}   \]

\[ \frac{\partial}{\partial \eta_i} = \sum_{\lambda =1}^n \frac{\partial \tilde{\eta}_{\lambda}}{\partial \eta_i} \frac{\partial}{\partial \tilde{\eta}_{\lambda}} =  \sum_{\lambda =1}^n B_i^{\lambda} \frac{\partial}{\partial \tilde{\eta}_{\lambda}}   \]
直交性により,
\[ \delta_i^j = g(\partial_i, \partial^j)=\sum_{\lambda,\mu} A_i^{\lambda} B_j^{\mu} g(\partial_{\lambda}, \partial^{\mu}) = A_i^{\lambda} B_j^{\mu} \delta_{\mu}^{\lambda} = A_i^{\lambda} B_j^{\lambda}\]
したがって, $A$と$B$は互いに逆行列である. このことに付随して,
\[\partial_{\lambda} = (\frac{\partial}{\partial \tilde{\theta}^{\lambda}} )=B_{\lambda}^i \partial_i ,\quad \partial^{\lambda} = ( frac{\partial}{\partial \tilde{\eta}_{\lambda}} )= A_{i}^{\lambda} \partial^i\]
がわかる.
ここで, $\psi$と$\tilde{\psi}$の関係を導く.
$\tilde{\eta_\lambda}=\partial_{\lambda} \tilde{\psi}$が前補題からわかる. このことと直前の$\{B_{\lambda}^{i}\}$関係式から,
\[. \tilde{\eta_\lambda} = \partial_{\lambda} \tilde{\psi}= B_{\lambda}^{j} \partial_j \tilde{\psi} \]
を得る. ここで, $\partial_j \tilde{\psi}$は$\frac{ \tilde{\psi}(\tilde{\theta}(\theta) )}{ \partial \theta^i }$.
$\psi$と$\phi$の関係と, $\tilde{\eta}$, $\eta$のアファイン変換から,
\[.\tilde{\eta} = B_{\lambda}^{j}\partial_j \psi+ b_{\lambda} \]
である.
この同じ左辺をもつ直前二式を見ると, (逆行列の対応から)
\[
\partial_j \tilde{\psi} = \partial_j \psi+ A_{\lambda}^{j} b_{\lambda}
\]
がわかる. これを積分することで, (potential 出会ったことを思い出す. )
\[
\tilde{\psi}(\tilde{\theta}) = \psi(\theta) + A_{\lambda}^{j} b_{\lambda}\theta^j +c
\]
ここで, $c$は或る定数である.
更に次の式変形に注目しておく.
\[
\sum_{\lambda} \left( \sum_{i}.\sum_{j}A_{\lambda}^{i} \theta^i B_{\lambda}^{j} \eta_j\ \right) = \sum_{\lambda} \left( \sum_{i}.\sum_{j}\theta^i \delta_i^{j} \eta_j\ \right) = \sum_{\lambda} \left( \sum_{i}\theta^i  \eta_i\ \right)
\]
すると, $\{(\tilde{\theta}^{lamba}), (\tilde{\eta}_{\lamba})\}$による表現を$\{(\theta^i), (\eta_i)\}$とそのポテンシャル関数で表すことができる.
\begin{align}
\tilde{\varphi}(\tilde{\eta}) &= \tilde{\theta}^{\lambda}\tilde{\eta}_{\lambda} – \tilde{\psi}(\tilde{\theta})  \\
& = ( A_{i}^{\lambda} \theta^i + a^{\lambda} )(B_{\lambda}^{j}\partial_j \psi+ b_{\lambda}) – (\psi(\theta) + A_{\lambda}^{j} b_{\lambda}\theta^j +c) \\
&= \{ \theta^i \eta_i + \psi(\theta) \} + a^{\lambda} B_{\lambda}^{j} \eta_j + a^{\lambda}b_ {\lambda} -c \\
&= \varphi(\eta)  + a^{\lambda} B_{\lambda}^{j} \eta_j + a^{\lambda}b_ {\lambda} -c
\end{align}
を得る. ここまでの関係式を統合すると,
\begin{align}
& \tilde{\psi}(\tilde{\theta}(p)) +  \varphi(\tilde{\eta}(q)) – \tilde{\theta}^{\lamba}(p)\tilde{\eta}_{\lamba}(q) \\
& =\{ \psi(\theta(p)) + A_{\lambda}^{j} b_{\lambda}\theta^j(p) +c \} + \{  \varphi(\eta)  + a^{\lambda} B_{\lambda}^{j} \eta_j + a^{\lambda}b_ {\lambda} -c  \} \\
&-( A_{i}^{\lambda} \theta^i + a^{\lambda} )( (B_{\lambda}^{j}\partial_j \psi+ b_{\lambda} ) \\
&= \psi(\theta(p)) +  \varphi(\eta(q)) – \theta^i(p)\eta_i(q)
\end{align}
と結論される. 三項目の積の形の部分が、1、2項目の共に2,3番目の部分と打ち消しあうことから上記の結論がわかる.
[/proof]

$(\mathbb{R}^n, g_E, \nabla_E, \nabla_E)$を通常のユークリッド空間とする。
このとき,
\[D(p||q) =\frac{1}{2}\norm{p-q}\]

Proposition.

$D(p||q)\geq 0$
$D(p||q) = 0$ は $p=q$の必要十分条件である.
$(M,g,\nabla^*, \nabla)$: も双対平坦空間である.
$(M,g,\nabla^*, \nabla)$: 双対平坦空間に対して, $D^*$をそのダイバージェンス($\nabla^*$-ダイバージェンス)とすると, $D^*(p||q)=D(q||p)$である. 


[proof]
一個目と二個目は, \[ \varphi(\eta(p))=\max_{q\in M}\left\{ \theta^1(q)\eta_i(p)- \psi(\theta(q))\right\}  \]からわかる.
三個目は, $(\nabla^*)^*=\nabla$からわかる.
四個目は, $\theta$と$\eta$, $\psi$と$\phi$が全て入れ替わるからわかる.
[/proof]

拡張ピタゴラスの定理と射影定理

Theorem.

$(M,g,\nabla, \nabla^*)$: 双対平坦空間,
$p,q,r \in M$
$\gamma_1$: $p,q$を結ぶ$\nabla$-測地線
$\gamma_2$: $q,r$を結ぶ$\nabla^*$-測地線
$q$において, $\gamma_1$と$\gamma_2$が$g$に関して直交($g_q(\gamma_{1}'(0), \gamma_{2}'(0))$)する.
このとき,
\[D(p||r) = D(p||q) + D(q||r) \]

[proof]
アファイン局所座標系に関するクリストッフェル記号はすべて$0$なので, 測地線の方程式の局所座標表示から、直線またはその一部として表すことができる。
$\gamma_1, \gamma_2$ はそれぞれ $\theta, \eta$を用いて,
\[
\gamma_1(t) = t\theta(p) + (1-t)\theta(q), \quad
\gamma_2(t) = t\eta(p) + (1-t)\eta(q) \quad (t\in [0,1])
\]
とあらわすことができる.

\begin{align}
v=\dot{p}(0)&=((\theta^i\circ p)(1) – (\theta^i\circ p)(0))\left( \frac{ \partial}{\partial \theta^i} \right) \\
&= ((\theta^i)(p) – (\theta^i)(q))\left( \frac{ \partial}{\partial \theta^i} \right)
\end{align}

\begin{align}
w=\dot{q}(0)&=((\eta^i\circ q)(1) – (\eta^i\circ q)(0))\left( \frac{ \partial}{\partial \eta^i} \right) \\
&= ((\eta^i)(q) – (\eta^i)(r))\left( \frac{ \partial}{\partial \eta^i} \right)
\end{align}
仮定により, この$2$つの測地線が$q$で直交しているから,
\begin{align}
&0= g_q(v,w) \\
&= ((\theta^i)(p) – (\theta^i)(q)) ((\eta^j)(q) – (\eta^j)(r)) g_q\left( \left( \frac{ \partial}{\partial \theta^i} \right) , \left( \frac{ \partial}{\partial \eta^j} \right)  \right) \\
&= ((\theta^i)(p) – (\theta^i)(q)) ((\eta^i)(q) – (\eta^i)(r))
\end{align}
したがって, $\psi + \phi = \sum_{i=1}^n \theta^i \eta_i$を用いて,
\begin{align}
&D(p||q) + D(q||r) – D(p||r) \\
&= \{ \psi(\theta(p)) + \varphi(\eta(q)) – \theta^i(p)\eta_i(q) \} \\
&\quad + \{ \psi(\theta(q)) + \varphi(\eta(r)) – \theta^i(q)\eta_i(r) \} \\
&\quad – \{ \psi(\theta(p)) + \varphi(\eta(r)) – \theta^i(p)\eta_i(r) \}
\end{align}
一段目の一項目と三段目の一項目, 二段目の二項目と三段目の二項目で打ち消しあう. 一段目の二項目と二段目の一項目に $\psi + \phi = \sum_{i=1}^n \theta^i \eta_i$を用いて,
\begin{align}
&D(p||q) + D(q||r) – D(p||r)  \\
&=\{ \psi(\theta(q)) + \varphi(\eta(q)) \} – \theta^i (p)\eta_i(q)  – \theta^i (q)\eta_i(r)  + \theta^i (p)\eta_i(r) \\
&= \sum_{i=1}^n \theta^i (q)\eta_i (q) – \theta^i (p)\eta_i(q)  – \theta^i (q)\eta_i(r)  + \theta^i (p)\eta_i(r)  \\
&= ((\theta^i)(p) – (\theta^i)(q)) ((\eta^i)(q) – (\eta^i)(r)) \\
&=0
\end{align}
[/proof]

Remark.

指数分布族$S_e$の場合, K-L ダイバージェンスは, 平坦多様体$(S_e, \nabla^{(m)}, g^F)$の$\nabla$-ダイバージェンスに一致する。

Theorem.

$(M,g,\nabla, \nabla^*)$: 双対平坦空間, 
$S\subset M$: 部分多様体
$p \in M$, $r\in S$
$D(p||r)$: $(M,g,\nabla, \nabla^*)$の$\nabla$-ダイバージェンス
$p$を固定し, $f(r)=D(p||r)$によって$S$上の関数$f$を定める.
$f(r)$が$q\in S$において, $p,q$を結ぶ$\nabla$-測地線が$S$と$g$に関して直交する.

メモ:
$(\theta^i)$ : $\nabla$- アファイン座標系, $\psi$ : $g$の$\theta$-ポテンシャル
$(\eta_i)$ : $(\theta^i)$の双対アファイン座標系, $\varphi$ : $g$の$\eta$-ポテンシャル
このとき, $M\times M$上の関数$D$が