РЕШЕНИЕ КРАЕВЫХ ЗАДАЧ С ПОМОЩЬЮ S-СПЛАЙНА Силаев Д.А., Коротаев Д.О. (Россия, Москва) Данная работа посвящена применению теории Sсплайнов для решения уравнений в частных производных на примере уравнения Пуассона. S-сплайн – кусочнополиномиальная функция, коэффициенты полиномов которой определяются из двух условий: первая часть коэффициентов определяется условиями гладкой склейки, остальные определяются методом наименьших квадратов. В зависимости от порядка рассматриваемых полиномов и соотношения между количеством условий первого и второго типа мы получаем S-сплайны с разными свойствами. На настоящий момент изучены сплайны 3-й степени класса C 1 и сплайны 5-й степени класса C 2 (т.е. на них накладывались условия гладкой склейки вплоть до первой и второй производной соответственно). Мы рассмотрим, каким образом могут быть применены сплайны 3-й степени класса C 1 при решении уравнения Пуассона на круге и в других областях. Для начала нам потребуется определение одномерного и двумерного Sсплайна. Также мы приведем формулировки теорем о единственности и сходимости S-сплайнов. SOLVING OF BOUNDARY TASKS BY USING S SPLINE Silaev D.A., Korotaev D.O. This article is dedicated to use of S-spline theory for solving equations in partial derivatives. For example, we consider solving of Puasson equation. S-spline – is a piecewisepolynomial. Its koefficients are defined by two states. Its first part of koefficients are defined by smoothness of spline. The least koefficients are determined by least-squares method. According to order of considered polynomial and number of conditions of first and second type we get S-splines with different properties. At this moment we have investigated order 3 S-splines of class C 1 and order 5 S-splines of class C 2 (they meets conditions of smoothness of order 1 and 2 accordinally). We will consider how the order 3 S-splines of class C 1 can be applied for solving equation of Puasson on circle and on other areas. 1. Одномерный S-сплайн 1.1. Определение одномерного S-сплайна {x } Рассмотрим на отрезке [a b] равномерную сетку , xk a kh , h — шаг сетки. Рассмотрим на [a b] еще одну k K k k 0 H mh m Z Обозначим равномерную Пусть n {l }ll 0L , сетку l a lH , y ( y0 y1 … yK ) R K 1 и y0 R . n P u u ( x) a0 a1 x a j x j 2 j множество полиномов степени n с фиксированными коэффициентами Рассмотрим функционал: a0 a1 . M (u ) (u (l kh) yml k ) 2 l k 0 В классе P ищется такой полином, который минимизирует l и удовлетворяет следующим начальным условиям a00 y0 a10 y0 (1.1) и условиям гладкой склейки двух последовательных полиномов a0l gl 1 (l l 1 ) gl 1 ( H ) a1l g l 1( H ) (1.2) n Определение 1. S-сплайном назовем функцию Smn M ( x) , которая совпадает с полиномом gl ( x) на отрезке l x l 1 . Определение 2. Периодическим S-сплайном называется Sсплайн, являющийся периодической функцией на отрезке [ a b ] . Предположение периодичности означает замену начальных условий (1.1) на следующие условия периодичности: a00 g L 1 ( H ) a10 g L 1( H ) (1.3) Здесь L – число полиномов, составляющих сплайн. 1.2. Построение системы линейных уравнений Условия минимизации функционала l (u ) дадут нам следующие уравнения: S2 a0l S3a1l h S4 a2l h 2 S5a3l h3 P1l S3a0l S4a1l hS5a2l h2 S6a3l h3 P2l (1.4) где M M k 0 k 0 S j k j Pjl yml k k j 1 (1.5) Произведем замену переменных a i ai hi i 01 2 3 При этом уравнения (1.2) и (1.4) преобразуются в следующие: a l01 ma1l 1 m2 a l21 m3 a 3l 1 a l0 (1.6) 2 l 1 l 1 l 1 l a1 2ma 2 3m a 3 a1 S 2 a l0 S3 a1l S 4 a l2 S5 a l3 P1l S3 a l0 S4 a1l S5 a l2 S6 a l3 P2l (1.7) Обозначим матрицы: S S3 S S5 1 m m2 m3 A1 2 A2 4 B1 B2 S3 S4 S5 S6 0 1 2m 3m2 Кроме того, пусть l l l a P a Pl 1 и X 2l 0 X 2l 1 2 где l 01… L 1 Pl al al 2 1 3 Тогда систему уравнений для определения коэффициентов периодического сплайна можно записать в виде: E A1 B1 0 0 0 A2 B2 0 0 0 0 E A1 B1 0 0 0 A2 B2 … B1 … 0 … 0 … 0 … 0 B2 0 0 0 0 0 0 0 0 … A1 A 2 2 L 1 X0 X1 X2 X3 X4 X L 1 0 P0 0 P1 0 P (1.8) Размерность этой системы - 4L x 4L . Здесь E, как обычно 1 0 единичная матрица: E . Для непериодического 0 1 сплайна первые две строки заменяются на стартовые условия (1.1). Введем обозначение 1: 1 1 1 1 1 m2T35 m3T34 m m2T45 m3T34 A A A A (1.9) U 2 m m m m2 2 T35 3 T34 12 T45 3 T44 A A A A где S S5 (1.10) A det( A2 ) det 4 S4 S6 S52 0 S5 S6 Tij Si S j Si 1S j 1 1 (1.11) Матрицу U назовем матрицей устойчивости, поскольку как мы увидим далее, она определяет устойчивость сплайна Если сделать некоторые преобразования, то система (1.8) распадается на систему размерности 2L x 2L : 0 U X 0 B2 A21 P L 1 E 0 1P0 2 U E 0 0 B A X 2 2 1 1 4 0 U E (1.12) 0 X B2 A2 P 1 L 2 0 2 L2 B A P 0 0 E X 2 2 из которой находятся первый и второй коэффициенты полиномов. Остальные два коэффициента определяются из метода наименьших квадратов (1.4). Заметим, что матрица U, определенная нами выше может быть также записана в виде U B1 B2 A2 1 A1 . 1.3. Существование и единственность S-сплайнов Теорема 1. При любых начальных условиях и для любых констант и M существует и единственен m непериодический сплайн Sm M [ y ]( x) . Теорема 2. Пусть числа m и M таковы, что собственные числа матpицы U не равны корню степени L из единицы. Тогда существует и единственен периодический сплайн Sm M [ y ]( x) . 1.4. Сходимость S-сплайнов Теорема 3. Пусть f ( x) C4 [a b] - периодическая функция и пусть выполнены предположения: f ( xk ) f k Ch 4 (1.13) где константа C не зависит от h . Пусть, кроме того, собственные числа матрицы U (1.9) по модулю меньше единицы. Тогда периодический сплайн S m M ( x ) с узлами на равномерной сетке l a lH имеет дефект два (т.е. S ( x) C [a b] ), и для x [a b] справедливы следующие оценки: f ( p ) ( x) S m( p M) ( x) C p h 4 p p 01 2 3 (1.14) 3 m M 1 Теорема 4. Пусть f ( x) C4 [a b] и пусть выполнены предположения: f ( xk ) f k Ch 4 f (0) f 0 Ch3 (1.15) где константа C не зависит от h . Пусть, кроме того, собственные числа матрицы U (1.9) по модулю меньше единицы. Тогда непериодический сплайн S m M ( x ) c узлами на равномерной сетке l a lH имеет дефект два (т.е. Sm3 M ( x) C1[a b] ) и для x [a b] справедливы следующие оценки: f ( p ) ( x) S m( p M) ( x) C p h 4 p p 01 2 3 (1.16) Замечание. Как показано в работе [1], выполнение условия m M *, где * 0.93, обеспечивает устойчивость, собственные числа матрицы U оказываются по модулю меньше единицы. 1.5. Фундаментальный S-сплайн B j ( x) Фундаментальный S-сплайн это периодический или непериодический S-сплайн, K 1 построенный по данным y ( y0 y1 … yK ) R и y0 R вида: { y i ij, i 0,..., K }. Легко видеть, что линейная комбинация K y B ( x) S ( x) j 0 j j является S-сплайном, приближающим начальные данные yi i 0… K . Приведем графики фундаментальных S-сплайнов для периодического случая: Фундаментальные сплайны одной переменной 0,6 0,5 0,4 0,3 0,2 0,1 0 -0,1 -0,2 Рис.1 2. S -сплайн на круге 2.1. Построение r - сплайна Будем рассматривать на единичном круге полярные сетки : {i ih1 i 01… K1}{ k kH1 k 0… L1} H1 m1h1 K1 m1L1 K1h1 2 {rj jh2 j 01… K 2 } {Rl lH 2 l 0… L2 } H 2 m2 h2 K2 m2 L2 K 2 h2 1 Будем строить аппроксимацию функции f ( r ) на круге при условии, что функция f имеет 4 производных по переменным r и , то есть: (2.1) f C 4 [01] [0 2 ] { yij f (i rj ) i 0… K1 j 0… K 2 } Пусть значения в узлах сетки, по которым будет проводиться аппроксимация. При каждом построим j 1… K2 периодический S-сплайн S j ( ) на отрезке [0 2 ] по начальным данным { yij i 0… K1} . Каждый из этих сплайнов аппроксимирует функцию f ( rj ) на окружности с радиусом r j , причем в силу теоремы о сходимости S ( p) j ( ) p f ( rj ) p Ch14 p [0 2 ] p 01 2 3 Далее, фиксируем произвольное [0 2 ] . Рассмотрим набор {z j S j ( ) j 1… K 2 z0 y00 } . Также обозначим z0 значение, получаемое по некоторому алгоритму по набору { z j } , которое приближает f r (r ) r 0 с порядком не ниже третьего. Например, 1 3 1 (2.2) z0 3( z1 z0 ) ( z2 z0 ) ( z3 z0 ) h2 2 3 - приближение производной с третьим порядком аппроксимации. По набору {z j } и z 0 строим S ( r ) - непериодический S[01] . сплайн на отрезке Будем считать, что Это гарантирует, что m2 M 2 (здесь 093096) . собственные значения матрицы U по модулю не будут превосходить единицы. Тогда, построенный для сплайн S ( r ) будет аппроксимировать функцию f ( r ) при r [01] . Определение 3. Назовем r сплайном функцию S ( r ) , значение которой при любом r и определяется по следующему алгоритму: по набору {z j S j ( ) j 1… K 2 z0 y00 } , z0 строим S ( r ) , затем полагаем S ( r ) S (r ) . По другому S ( r ) S (r ) {z j S j ( ) j 1… K 2 z0 y00 } . Очевидно, что этот сплайн можно дифференцировать по r 3 раза в любой точке, не принадлежащей сетке, то есть при r R j . При r R j определим производную следующим образом: p p S ( r ) S ( r 0) p 01 2 3 r p r p Определение 4. Назовем p-й производной по от r сплайна ( p 1 2 3 ) функцию которая p p S ( r ) на единичном круге, равна r - сплайну, построенному по набору dp z S j ( ) j 1… K 2 z0 0 p 1 2 3 j p d Как и в случае с производной по r , под производной по в точках k понимается значение в точке k 0 . 2.2. Получение S-сплайна на круге как явной функции двух переменных Будем обозначать фундаментальные сплайны по как Ci ( ) , а фундаментальные сплайны по аргументу r как D j (r ) . S ( r ) S (r ) {z j S j ( ) j 1… K 2 z0 y00 } S (r ) K2 K2 K1 1 K1 1 K 2 j 0 j 0 i 0 i 0 j 0 z j D j (r ) D j (r ) yij Ci ( ) yij Ci ( ) D j (r ) (2.4) Предпоследнее равенство следует из определения набора {z j S j ( )} и разложения по фундаментальным сплайнам K1 1 S j ( ) yij Ci ( ) . График фундаментального i 0 представлен на рис.2 Фундаментальный сплайн на квадрате 0,12 0,1 0,08 0,06 0,04 0,02 0 -0,02 -0,04 сплайна Теперь рассмотрим укрупненную сетку круга {k kH1 k 0… L1} где H1 m1h1 и {Rl lH 2 l 0… L2 } где H 2 m2 h2 . Рассмотрим вид S-сплайна в некотором произвольным секторе этой сетки: (2.5) kH1 r lH 2 r где H1 и r H 2 В этом секторе фундаментальные BS-сплайны согласно определению S-сплайна представляются в виде полиномов третьей степени: 3 3 p 0 q 0 Ci ( ) cipk p D j (r ) cqlj r q Подставляя эти выражения в формулу для S ( r ) и меняя порядок суммирования, получим: K1 1 K 2 3 3 i 0 j 0 p 0 q 0 S ( r ) yij cipk p d qlj r q 3 3 K1 1 K2 p q i 0 j 0 r p 0 q 0 y c d i ij pk j ql 3 3 a klpq p r q (2.6) p 0 q 0 Представление сплайна на круге в виде разложения по одномерным фундаментальным сплайнам (2.4) позволяет определить понятие смешанной производной для двумерного сплайна : Определение 4. Под смешанной производной двумерного pq сплайна понимается S (r , ) 0 pq 3 p r q K1 1 K 2 dp dq следующая конечная сумма yij C ( ) D j (r ) , i d p dr q i 0 j 0 состоящая из формальных производных от соответствующих фундаментальных сплайнов по r и . 2.3. Сходимость двумерного сплайна Обозначим h max(h1 h2 ) . Теорема 5. Пусть m1 M1 , m2 M 2 и выполнены условия: (2.7) f C 4 [01] [0 2 ] Тогда для сплайна S ( r ) справедливы оценки : pq pq S ( r ) p q f ( r ) C pq h 4 p q где 0 p q 3. p q r r Доказательство следует из построения двумерного сплайна, представления его в виде линейной комбинации фундаментальных одномерных сплайнов, а также из сходимости одномерных сплайнов. 2.4. Решение краевых задач с помощью сплайнов Рассмотрим уравнение граничными условиями: Пуассона c некоторыми 1 u 1 2u p(r , ), (r , ) D r 2 2 , r r r r u (r , ) D f (r , ) (2.8) Пусть D – некоторая область лежащая внутри единичного круга. Предлагаемый метод решения состоит в следующих шагах: 1) Представление предполагаемого решения уравнения в виде линейной комбинации фундаментальных сплайнов. 2) Применение метода Галеркина к уравнению в пространстве фундаментальных сплайнов 3) Подстановка граничных условий Рассмотрим последовательно эти шаги. Представим решение уравнения в виде K1 1 K 2 S ( r ) uij Ci ( ) D j (r ) , i 0 (2.9) j 1 где Ci ( ) и D j (r ) - соответствующие фундаментальные одномерные сплайны. Домножим исходное уравнение на r . Теперь будем домножать уравнение скалярно на Cl ( ) Dk (r ) , где пары l , k пробегают индексов все значения l 0, , K1 1, k 1, , K2 , но такие, что (h2 k , h1l ) D (т.е. только для внутренних узлов области D). В нашем случае в качестве скалярного произведения возьмём интеграл по области D. Получим уравнение: 2u u 1 2u D r r 2 r r 2 Cl ( ) Dk (r )rdrd p(r , )Cl ( ) Dk (r )r 2 drd (2.10) D Заметим, что под интегралом вошел также якобиан r от преобразования в полярные координаты. Рассмотрим процесс интегрирования на примере круга. В случае других областей можно действовать подобным образом. Область интегрирования разбиваем на сектора вида r [ Rq , Rq 1 ], [ p , p 1 ], где Rq qH 2 , q 0,..., L2 , p pH1 , p 0,..., L1 . После этого мы можем разбить двойной интеграл на одномерные. Преобразуем левую часть следующим образом: 2u u 1 2u D r r 2 r r 2 Cl ( ) Dk (r )rdrd Rq1 p1 2u u 1 2u r 2 C ( ) D ( r ) rdrd k 2 l r r r p 0 q 0 Rq p Теперь подставим разложение (2.9) и проинтегрируем по частям: Rq1 p1 2 uij r Dj (r ) Dk (r ) rDj (r ) Dk (r )dr Ci ( )Cl ( )d i , j p ,q p Rq Rq1 p1 D j (r ) Dk (r )dr Ci( )Cl ( )d Rq p Rq1 Rq1 uij r 2 D j (r ) Dk (r ) rDj (r ) Dk (r ) Rq i , j p ,q Rq L1 1 L2 1 2rD j (r ) Dk (r )dr p1 p Ci ( )Cl ( )d Rq1 Rq p1 p1 D j (r ) Dk (r )dr Ci ( )Cl ( ) Ci ( )Cl ( )d p p 2 uij Cl ( )Ci ( )d Dk (1) D j (1) i, j 0 1 rDk (r ) D j (r ) 2rDk (r ) D j (r )dr 0 2 1 Cl ( )Ci ( )d Dk (r ) D j (r )dr p(r , )Cl ( ) Dk (r )r 2drd. 0 0 D (2.11) Последнее уравнение в виду произвольности выбора l и k представляет собой систему для определения коэффициентов u ij . Чтобы сделать её полной, нам необходимо учесть граничные условия, которые дадут нам недостающее число уравнений u C ( ) D (r ) ij i, j i f ( , r ) . j D Для круга радиуса единица они будут иметь вид: uijC i (l ) D j (1) f ( ), l 0, , K1 1 (2.12) i, j В общем же случае нам необходимо поставить граничные условия в точках пересечения сетки с границей области D , но столько, сколько нам недостает уравнений (с учетом того количества уравнений, которое получилось для полностью внутренних точек области). Встает закономерный вопрос о том, каким образом выбирать пары индексов (i, j ) , которые определяют фундаментальные сплайны, участвующие в разложении предполагаемого решения для произвольной области внутри единичного круга. Во-первых, мы берем индексы соответствующие всем внутренним узлам сетки, как мы это делали при домножении уравнения на фундаментальные сплайны. Во-вторых, мы берем все точки лежащие на границе или ближайшие к ним узлы, если двигаться по лучам сетки по направлению от границы. Из системы уравнений (2.11) и (2.12) мы получаем u ij коэффициенты в разложении решения по фундаментальным сплайнам, т.е. искомое приближенное решение. Теорема 6. Пусть u ( r , ) - точное решение уравнения (2.8), а S (r , ) - приближен ное решение, полученное в результате вышеописанного метода. Пусть, кроме того, собственные значения матрицы U, построенной для сплайнов по r и по по модулю меньше единицы. Тогда верна оценка: u(r , ) S (r , ) Ch4 , где h max(h1 , h2 ) Доказательство. сплайном Аппроксимируем точное решение u K1 1 K 2 S (r , ) vij Ci ( ) D j (r ) . Пусть u C4 . i 0 j 1 Обозначим y u S . Тогда применив теорему 5, получим, y ( n ) (r , ) C1h 4 n , где n 0,1, 2,3 . Т.к. u – точное что решение уравнения (2.8), то будет выполнено интегральное тождество: 2 2 uCl ( ) Dk (r )r drd p(r, )Cl ( ) Dk (r )r drd D D Разобьем область интегрирования на сектора, как мы это делали в методе Галеркина. Тогда мы сможем почленно дифференцировать u y S два раза: Rq1 p1 2 1 2 ( y S ) Cl ( ) Dk (r )r 2 drd 2 2 r r p 0 q 0 Rq p r L1 1 L2 1 r 2 p(r , )Cl ( ) Dk (r )drd D Теперь перенесем члены с y в правую часть, а оставшиеся проинтегрируем по частям, как мы это делали в методе Галеркина: 1 2 vij Cl ( )Ci ( )d Dk (1) D j (1) rDk (r ) D j (r ) 2rDk (r ) D j (r )dr i, j 0 0 2 1 Cl (r )Ci ( )d Dk (r ) D j (r )dr 0 0 p(r , )Cl ( ) Dk (r )r drd Rq1 p1 2 p , q Rq D y(r , )Cl ( ) Dk (r )drd. p Как мы видим, полученная система уравнений совпадает с системой (2.11) с точностью до членов с y . Матрицу этой систему обозначим A alkij . Введем z S (r , ) S (r , ) (uij vij )Ci ( ) D j (r ) . обозначение Вычтем из i, j полученной системы систему (2.11), тогда получим систему: a ij lk i, j (uij vij ) ylk , или Az y , Здесь z zij zij uij vij , а Rq1 p 1 y ylk ylk y (r , )Cl ( ) Dk (r )drd . p , q Rq p Rq1 p1 p , q Rq y (r , )Cl ( ) Dk (r )drd p Rq1 p1 p ,q y(r , )Cl ( ) Dk (r )drd p Rq Rq1 p1 sup y p , q Rq Обозначим c p,l sup [ p , p1 ] Cl ( ) Dk (r )r 2 drd p Cl ( ) , dq,k sup r[ Rq , Rq1 ] Dk (r )r 2 . Тогда в силу теоремы 5, примененной к y и её производным, получим: Rq1 p1 sup y p , q Rq p Cl ( ) Dk (r )r 2 drd Ch 2 c p ,l d q ,k H1H 2 p ,q Cm1m2 h4 c p ,l d q ,k Cm1m2 h 4 c p ,l d q ,k p ,q p q Теперь покажем, что получившиеся суммы ограничены суммой сходящейся геометрической прогрессии. Для этого нам потребуется леммы 3 (для периодического и непериодического случая), доказательство которых приведено в [1] и [2]. Из этих лемм в частности следует, что отклонение приближения фундаментальными сплайнами от начальных данных удовлетворяет соотношению n t l ,m1n - символы zn Cl (nH1 ) l ,m1n zt , где Кронекера, max( 1 , 2 ), 1 , 2 - собственные значения матрицы U (1.9). Аналогичные соотношения имеют место и для фундаментальных сплайнов по r . Тогда элементы сумм, стоящих в скобках ограничены по модулю членами сходящейся геометрической прогрессии, следовательно их сумма ограничена суммой бесконечной сходящейся прогрессии, причем эта сумма не зависит от шагов h1 и h2 , что и требовалось доказать. В силу единственности S-сплайнов фундаментальные сплайны будут линейно независимыми, а следовательно матрица системы A является обратимой, значит: z A1 y и z A1 y zij A1 max ylk C2 h 4 l ,k S (r , ) S (r , ) C2 h 4 (следует из теоремы 5). u (r , ) S (r , ) u (r , ) S (r , ) S (r , ) S (r , ) C1h 4 C2 h 4 Ch 4 Теорема доказана. u (r , ) S (r , ) u (r , ) S (r , ) S (r , ) S (r , ) C1h 4 C2 h 4 Ch 4 Теорема доказана. 2.5. Результаты численных расчетов Методом описанным выше, решалась задача: 1 u 1 2u 2, r (0,1), (0, 2 ) r 2 2 r r r r u (r , ) r 1 sin 2 ( ) Ниже представлена таблица точности, полученной при разном количестве точек на отрезке, путем сравнения с точным аналитическим решением. В соответствии с теоремой, коэффициент увеличения точности при уменьшении шага в 1,5 раза должен составлять 1,54 5, 0625 . Таблица 1 Кол-во Точность Коэффициент полиномов увеличения по r или точности по 2 1,99746 102 4 8,608 103 2,32 6 1, 791103 4,804 9 5, 46 104 3,28 14 1, 01104 5,45 21 5 4,66 2,14 10 Решение уравнения Пуассона на круге 1 0,9 0,8 0,7 0,6 u(r,phi) 0,5 0,4 0,3 0,2 0,1 0 Р19 22 16 10 19 r 13 4 7 1 Р10 phi Р1 Рис. 3 Литература 1. Силаев Д.А., Якушина Г.И. Приближение S-сплайнами гладких функций. В кн.: Труды семинара имени И. Г. Петровского. Вып.10. М.: Изд-во МГУ, 1984, с.197. 2. Амилющенко А.В., Лукьянов А.И., Силаев Д.А. Применение сплайна для приближения гладких периодических функций. Вестник московского университета. N6, 1996 г. Материалы международной конференции и Чебышевских чтений, посвященные 175 летию Чебышева. Т.1, с.22-25.