В настоящее время я работаю с «Многосеточным учебником» Бриггса и др., Глава 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 при каждой ограничительной интерполяции. Это кажется мне очень странным.
Кто-нибудь может объяснить, что происходит?