1. 二阶导数
为方便起见,以下均用偏微分方式表示。
函数
f
(
x
)
f(x)
f(x)在点
x
−
Δ
x
x - \Delta x
x−Δx的导数为
∂
f
(
x
−
Δ
x
)
∂
x
=
f
(
x
)
−
f
(
x
−
Δ
x
)
Δ
x
(1)
\frac{\partial f(x - \Delta x)}{\partial x} = \frac{f(x) - f(x - \Delta x)}{\Delta x} \tag{1}
∂x∂f(x−Δx)=Δxf(x)−f(x−Δx)(1)
函数
f
(
x
)
f(x)
f(x)在点
x
x
x的导数为
∂
f
(
x
)
∂
x
=
f
(
x
+
Δ
x
)
−
f
(
x
)
Δ
x
(2)
\frac{\partial f(x)}{\partial x} = \frac{f(x + \Delta x) - f(x)}{\Delta x} \tag{2}
∂x∂f(x)=Δxf(x+Δx)−f(x)(2)
由于函数
f
(
x
)
f(x)
f(x)经过
Δ
x
\Delta x
Δx后进行了上述改变,所以它在
x
x
x的二阶导数为
∂
f
2
(
x
)
∂
x
2
=
∂
f
(
x
)
∂
x
−
∂
f
(
x
−
Δ
x
)
∂
x
Δ
x
=
f
(
x
−
Δ
x
)
+
f
(
x
+
Δ
x
)
−
2
f
(
x
)
Δ
x
2
(3)
\frac{\partial f^2(x)}{\partial x^2} = \frac{\frac{\partial f(x)}{\partial x} - \frac{\partial f(x - \Delta x)}{\partial x} }{\Delta x} = \frac{f(x - \Delta x) + f(x + \Delta x) - 2 f(x)}{\Delta x^2} \tag{3}
∂x2∂f2(x)=Δx∂x∂f(x)−∂x∂f(x−Δx)=Δx2f(x−Δx)+f(x+Δx)−2f(x)(3)
上述所有式子,需要
Δ
x
→
0
+
\Delta x \rightarrow 0^+
Δx→0+,但实际数据无法达到要求。
2. 有限差分
将(3)式的
Δ
x
\Delta x
Δx替换为
h
h
h,可得
∂
f
2
(
x
)
∂
x
2
≈
f
(
x
−
h
)
+
f
(
x
+
h
)
−
2
f
(
x
)
h
2
(4)
\frac{\partial f^2(x)}{\partial x^2} \approx \frac{f(x - h) + f(x + h) - 2 f(x)}{h^2} \tag{4}
∂x2∂f2(x)≈h2f(x−h)+f(x+h)−2f(x)(4)
这里只能使用约等于。
由于
h
h
h不是太靠近0,我们希望用多个邻域的值进行计算。因此,我们将(4)式扩展为
∂
f
2
(
x
)
∂
x
2
≈
f
(
x
−
j
h
)
+
f
(
x
+
j
h
)
−
2
f
(
x
)
(
j
h
)
2
(5)
\frac{\partial f^2(x)}{\partial x^2} \approx \frac{f(x - jh) + f(x + jh) - 2 f(x)}{(jh)^2} \tag{5}
∂x2∂f2(x)≈(jh)2f(x−jh)+f(x+jh)−2f(x)(5)
其中
j
=
1
,
2
,
…
,
m
j = 1, 2, \dots, m
j=1,2,…,m.
进一步引入
C
=
(
c
1
,
…
,
c
m
)
\mathbf{C} = (c_1, \dots, c_m)
C=(c1,…,cm), 其中
0
≤
c
j
≤
1
,
∑
j
=
1
m
c
j
=
1
(6)
0 \leq c_j \leq 1, \sum_{j = 1}^m c_j = 1 \tag{6}
0≤cj≤1,j=1∑mcj=1(6)
将
c
j
c_j
cj乘入(5)式的左右,可得:
c
j
∂
f
2
(
x
)
∂
x
2
≈
c
j
f
(
x
−
j
h
)
+
f
(
x
+
j
h
)
−
2
f
(
x
)
(
j
h
)
2
(7)
c_j \frac{\partial f^2(x)}{\partial x^2} \approx c_j \frac{f(x - jh) + f(x + jh) - 2 f(x)}{(jh)^2} \tag{7}
cj∂x2∂f2(x)≈cj(jh)2f(x−jh)+f(x+jh)−2f(x)(7)
取不同的
c
j
c_j
cj且累加(6)式,可得
∂
f
2
(
x
)
∂
x
2
≈
∑
j
=
1
m
c
j
f
(
x
−
j
h
)
+
f
(
x
+
j
h
)
−
2
f
(
x
)
(
j
h
)
2
(8)
\frac{\partial f^2(x)}{\partial x^2} \approx \sum_{j = 1}^m c_j \frac{f(x - jh) + f(x + jh) - 2 f(x)}{(jh)^2} \tag{8}
∂x2∂f2(x)≈j=1∑mcj(jh)2f(x−jh)+f(x+jh)−2f(x)(8)
由于离得越近,影响越大,我们强加一个条件:
c
1
≥
c
2
⋯
≥
c
m
(9)
c_1 \geq c_2 \dots \geq c_m \tag{9}
c1≥c2⋯≥cm(9)
另外,我们不希望只有少数数据起到作用,因此增加
∥
C
∥
2
2
=
∑
j
=
1
m
c
j
2
(10)
\|\mathbf{C}\|_2^2 = \sum_{j = 1}^m c_j^2 \tag{10}
∥C∥22=j=1∑mcj2(10)
C
\mathbf{C}
C内部的值分布越均匀,其二范数越小。作为一种极端情况,当
c
1
=
1
c_1 = 1
c1=1时,
∥
C
∥
2
2
\|\mathbf{C}\|_2^2
∥C∥22达到最大值1. 需要避免这类情况,因此利用
∥
C
∥
2
2
\|\mathbf{C}\|_2^2
∥C∥22建立正则项。
我们的任务,就是需要为给定的
f
(
x
)
f(x)
f(x),求到合适的
C
\mathbf{C}
C. 相应的问题可以描述为:
输入:
f
(
x
)
f(x)
f(x),
h
h
h,
m
m
m;
优化目标:
min
C
∣
∂
f
2
(
x
)
∂
x
2
−
∑
j
=
1
m
c
j
f
(
x
−
j
h
)
+
f
(
x
+
j
h
)
−
2
f
(
x
)
(
j
h
)
2
∣
+
λ
∥
C
∥
2
2
(11)
\min_\mathbf{C} \left|\frac{\partial f^2(x)}{\partial x^2} - \sum_{j = 1}^m c_j \frac{f(x - jh) + f(x + jh) - 2 f(x)}{(jh)^2} \right| + \lambda \|\mathbf{C}\|_2^2 \tag{11}
Cmin∣∣∣∣∣∂x2∂f2(x)−j=1∑mcj(jh)2f(x−jh)+f(x+jh)−2f(x)∣∣∣∣∣+λ∥C∥22(11)
约束条件:st.
0
≤
c
j
≤
1
,
∑
j
=
1
m
c
j
=
1
(6)
0 \leq c_j \leq 1, \sum_{j = 1}^m c_j = 1 \tag{6}
0≤cj≤1,j=1∑mcj=1(6)
针对不同的
f
(
x
)
f(x)
f(x),可以利用本问题的定义,获取最优的
C
\mathbf{C}
C.
吐槽一下:如果是实际观测数据来解还有意义,理论模型的话,凭什么我要把最近数据(距离为
h
h
h)的份额(用
c
j
c_j
cj表示)让给更远(
2
h
2h
2h到
m
h
mh
mh)的数据?
3. 平面波的有限差分
平面波函数为
f
(
x
)
=
f
0
e
i
k
x
f(x) = f_0 e^{\mathrm{i}kx}
f(x)=f0eikx
其中
i
=
−
1
\mathrm{i} = \sqrt{-1}
i=−1. 注意
i
\mathrm{i}
i表示虚数,要用mathrm来描述其字体。
将其代入求解即可。