我目前正在使用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
and 的乘法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。我觉得这很奇怪。
谁能解释这是怎么回事?
1