我目前正在使用 Briggs 等人的“A Multigrid Tutorial”,第 8 章。
那么限制算子和细网格算子的构造如下:
假设我们有三个网格点 x0、x1、x2,中间一个 x1 很好,其他的很粗糙。中间一个由 插值x1 = x0*w0 + x2*w2
。因此,插值算子是(在 Matlab 中):
I = [1, 0, 0; w0, 0, w2; 0, 0, 1]
I =
[ 1, 0, 0]
[ w0, 0, w2]
[ 0, 0, 1]
那么限制运算符是:
transpose(I)
ans =
[ 1, w0, 0]
[ 0, 0, 0]
[ 0, w2, 1]
现在让我们看看如果限制然后直接插值会发生什么,结果是I
和的相乘transpose(I)
:
I*transpose(I)
ans =
[ 1, w0, 0]
[ w0, w0^2 + w2^2, w2]
[ 0, w2, 1]
我希望这个矩阵类似于单位矩阵,或者至少具有范数 1 或其他东西。但是,如果我们将 x = [1, 1, 1] 应用于假设 w0 = w2 = 0.5,我们将得到 [1.5 1.5 1.5]。我会假设重复应用的限制插值操作至少会收敛到某些东西。但是不,在这种情况下,所有向量分量在每个限制插值上都乘以 1.5。这对我来说似乎很奇怪。
谁能解释发生了什么?