Solução numérica
de um modelo para
o DNA
Joana Pereira
Joana Pereira
2.° Ciclo Departamento de Matemática Departamento de Matemática 2019 Orientador José MatosJosé Matos, Professor coordenador, ISEPISEP
Coorientador
Maria João Rodrigues
O Presidente do Júri,
Agradecimentos
Num momento em que se fecha mais um capítulo da minha vida não posso deixar de agradecer a algumas pessoas que tornaram este caminho possível.
Aos meus orientadores, professor José Matos e professora Maria João Rodrigues, pelo apoio, disponibilidade e, acima de tudo, por acreditarem em mim e no meu trabalho. Não poderia imaginar melhor maneira maneira de terminar a minha aventura académica. Obrigada!
Aos meus pais, por serem o meu porto de abrigo e pela força e motivação que sempre me deram mesmo quando algumas coisas corriam menos bem. Ao meu irmão, por sempre ter sido uma inspiração e um modelo a seguir.
À Raquel (palavras serão poucas), porque a possibilidade de fazer parte deste percurso com ela foi, sem dúvida, o melhor que vou levar deste mundo académico.
Aos meus amigos (a família que escolhemos), por tudo o que acrescentaram e acrescentam em mim, tanto a nível profissional como pessoal. Este trabalho tem muito de vocês! A todos os professores com quem tive o prazer de partilhar a sala de aula em todos es-tes anos. Por toda a matemática que me ensinaram e pelo crescimento pessoal que me permitiram. Um obrigado especial ao professor Jorge Rocha que nos meus tempos de engenharia me fez aumentar muito o gosto pela matemática.
Ao pessoal não docente do departamento de matemática, por ajudarem a criar este am-biente tão familiar, porque sentirmo-nos em casa é meio caminho andado para o sucesso. Ao professor João, porque sem ele o meu caminho teria sido certamente outro. Por mais professores assim, que inspiram e mudam a vida dos seus alunos para melhor.
Resumo
A dinâmica linear da molécula de DNA não é suficiente para explicar grande parte da sua função biológica. Em [5] Michel Peyrard expôs um modelo não linear que descreve o comprimento das ligações de hidrogénio que unem cada um dos pares de base da molécula de DNA. Como o problema é não linear, usamos a linearização de Newton prosseguindo depois com o método tau para sistemas de equações diferenciais ordinárias. O software usado para resolver numericamente o sistema será o Matlab 2015 com a tau Toolbox. Como não temos quaisquer condições iniciais ou de fronteira o trabalho apresentado con-siste em várias simulações (com diferentes condições iniciais) que podem ser traduzidas em diferentes comportamentos das soluções e que descrevem algumas propriedades da molécula de DNA.
Palavras chave: modelo para o DNA, método tau, Linearização de Newton, tau toolbox,
Simulação
Abstract
It is well established that linear dynamics of DNA molecule is not enough to explain its biological function. Michel Peyrard exposed in [5] a nonlinear model that describes the length of the hydrogen bonds in each of the base pairs. As our problem is nonlinear, we use Newton linearization and then go ahead with tau method for systems of ordinary differential equations. The software used for solving numerically the system was Matlab 2015 with tau Toolbox. As we don’t have any boundary or initial conditions, the work we’ll present consists of several simulations that can be translated in different behaviors of the solutions and that can describe some physical properties of the DNA molecule.
Keywords: DNA model, tau method, Newton linearization, tau toolbox, Simulation
Conteúdo
Introdução 1
1 Motivação para o problema, DNA 3
1.1 DNA: composição química e estrutura . . . 3
1.2 Função e dinâmica da molécula de DNA . . . 5
1.3 Um modelo simples para o DNA . . . 6
2 Polinómios ortogonais 11 2.1 Noções básicas . . . 11
2.2 Polinómios ortogonais clássicos . . . 13
2.2.1 Polinómios de Legendre . . . 13
2.2.2 Polinómios de Chebyshev . . . 13
2.2.3 Polinómios de Jacobi . . . 14
2.2.4 Polinómios de Laguerre e Hermite . . . 15
2.3 Matrizes de mudança de base . . . 15
2.4 Mudança de intervalo de ortogonalidade . . . 16
3 Método tau 17 3.1 Formulação de Lanczos . . . 17
3.2 Perturbação tau . . . 18
3.3 Formulação operacional . . . 21
3.4 Método tau para equações diferenciais ordinárias . . . 23
3.5 Método tau para sistemas de equações diferenciais ordinárias . . . 24
3.6 Método tau para problemas não lineares . . . 28
3.7 Estimativas do erro . . . 29
4 Tau Toolbox 33 4.1 Alguns exemplos de utilização . . . 33
4.2 Extensão da Toolbox . . . 36
5 Método tau no modelo para o DNA 39 5.1 Equilíbrio com um par de bases perturbado . . . 40
5.1.1 Resultados . . . 41
5.2 Estudo da simetria das soluções . . . 44
5.2.1 Resultados . . . 45
5.3 Equilíbrio com perturbações em bloco . . . 46
5.3.1 Valores de perturbação aleatórios . . . 47
5.3.2 Resultados . . . 47
5.4 Perturbação múltipla (alternada) . . . 50
5.4.1 Resultados . . . 50
5.5 Comparação da magnitude da perturbação . . . 51
5.5.1 Resultados . . . 52
5.6 Equilíbrio com um par de bases perturbado - evolução temporal . . . 54
5.6.1 Resultados . . . 55
Lista de Tabelas
5.1 Tempo de execução . . . 42 5.2 Diferença máxima absoluta entre o caso 1 e o caso 2 . . . 49
1.1 Representação esquemática de uma molécula de DNA [7] . . . 4
1.2 Modelo para a dinâmica não linear do DNA . . . 7
1.3 Potencial de Morse para valores distintos do parâmetro a . . . . 8
3.1 Erro absoluto e resíduo . . . 20
3.2 Estrutura da matriz TQ . . . 24
3.3 Estrutura da matriz T para um sistema de equações diferenciais ordinárias 27 4.3 Aproximação vs solução exata . . . 36
5.1 Tempo computacional, aproximação polinómio de segundo grau . . . 42
5.2 Segundo par de bases perturbado . . . 43
5.3 Resíduo para o caso N = 4 . . . . 44
5.4 Perturbação par central, N = 7 . . . . 45
5.5 Resíduo para N = 7 (perturbação par central) . . . . 46
5.7 Perturbação com blocos de dimensão 3 . . . 49
5.8 Perturbação no par 2 vs perturbação no par 2 e 4 . . . 51
5.9 Valor da velocidade inicial fixo p2 = 0.354 e diferentes valores para posição inicial . . . 53
5.10 Valor da posição inicial fixo p1 = 1.472 e diferentes valores para velocidade inicial . . . 54
5.11 Comparação das soluções com t1 = 1 e t1 = 5 . . . 56
5.12 Comparação da solução parcelar e solução para t1 = 5 . . . 57
5.13 Comparação da solução por pedaços e solução para t1 = 40 . . . 58
Introdução
O problema apresentado neste trabalho surge do facto de a estrutura estática da molécula de DNA não ser suficiente para explicar a sua função biológica. No capítulo 1 apresen-tamos a motivação para o problema, fazendo uma introdução à composição química e estrutura do DNA assim como à sua função biológica. Na parte final do capítulo é des-crito o modelo de Michel Peyrard para a dinâmica da molécula. A ideia passa por modelar o comprimento das pontes de hidrogénio em cada um dos pares de base. Este modelo inclui uma função que descreve a interação entre duas bases do mesmo par e também uma outra que modela a interação entre bases adjacentes ao longo da molécula de DNA. O mo-delo não linear que vamos usar é dado por d2Y
k
dτ2 = S(Yk+1−2Yk+ Yk−1) + 2e−Yk(e−Yk−1), onde Yk é o alongamento da ligação de hidrogénio no k-ésimo par de bases.
Para solucionar este problema usamos o método tau para sistemas de equações diferen-ciais ordinárias. Este é um método espectral que nos permite aproximar (através de polinómios ortogonais) a solução de um sistema de equações diferenciais. Alguns resulta-dos e propriedades resulta-dos polinómios ortogonais são exploraresulta-dos no capítulo 2. No capítulo 3 o objetivo é fazer um estudo sobre o método tau, começando com a formulação original de Lanczos traduzindo-a seguidamente para a forma matricial. É apresentado o método para equações diferenciais ordinárias e a sua generalização para sistemas de equações diferenciais ordinárias.
Como o nosso problema é não linear uma parte do capítulo 3 centra-se no método tau para problemas não lineares. O sistema é linearizado usando o método de Newton onde, em cada uma das iterações, é usado o método tau como método auxiliar para resolver um sistema de equações diferenciais linear. Podemos escrever qualquer problema dife-rencial não linear na forma F
y, d
dxy, . . . , dν dxνy
= 0 e definir Ω como uma vizinhança da solução ω = (y, d dxy, . . . , dν dxνy), sendo ω (0) = y(0), d dxy (0), . . . , dν dxνy (0) ∈ Ω uma
aproxi-mação de ω. Assumindo que F tem derivadas parciais de todas as ordens em Ω, podemos substituir localmente F pelo seu polinómio de Taylor de primeira ordem. Um processo
iterativo usando o método tau origina uma sequência de aproximações ω1, . . . , ωk. Por-tanto, usando o método tau para o problema linearizado permite-nos encontrar soluções aproximadas para este problema. No final deste capítulo pretende-se perceber como é que podemos estimar o erro, sendo que não existe solução exata conhecida. Veremos que o erro obedece a um sistema de equações diferenciais, sendo possível estima-lo usando novamente o método tau.
No capítulo 4 o objetivo passa por introduzir algumas funções presentes na tau Toolbox (https://cmup.fc.up.pt/tautoolbox/) e que permitem resolver problemas diferenciais
lineares e não lineares. São também apresentadas algumas funções, que promovem uma extensão da Toolbox e que são fundamentais para o nosso problema.
Como não temos condições de fronteira ou iniciais definidas, o trabalho que apresenta-remos no capítulo 5 consiste em várias simulações que se traduzam em diferentes com-portamentos das soluções. O software usado para resolver numericamente o sistema foi o Matlab 2015 com a tau Toolbox. Veremos as consequências de perturbar a posição de equilíbrio da molécula e se o tamanho da cadeia tem implicações no comportamento da solução. Averiguaremos se existe simetria nas soluções e examinamos o efeito da mag-nitude da perturbação nas soluções. Estudamos ainda a evolução temporal das soluções em alguns casos concretos.
Os principais resultados desta tese foram apresentados na 4th International Conference
on Numerical and Symbolic Computation (Symcomp 2019), Porto 11-12 de Abril 2019,
tendo sido publicado um artigo nas atas da conferência com o nome Tau method for DNA
Capítulo 1
Motivação para o problema, DNA
A vida depende da habilidade das células em guardar, recuperar e traduzir instruções genéticas que são necessárias para manter um organismo vivo. Assim sendo, o estudo da molécula de DNA torna-se fundamental não só do ponto de vista biológico e químico, mas também físico. [1][5]
O DNA é uma molécula biológia pertencente à classe dos biopolímeros. Embora não seja de grande diversidade química, a sua estrutura e dinâmica são sistemas complexos. Na verdade se fosse apenas considerada a estrutura estática da molécula de DNA, a sua função biológica não poderia ser explicada. Torna-se portanto fundamental estudar a dinâmica da molécula de DNA. [5]
1.1 DNA: composição química e estrutura
O ácido desoxirribonucleico (DNA) é composto por dois polímeros lineares. Cada um dos monómeros que compõe estes polímeros é denominado de nucleótido. Cada nucleótido consiste em três componentes:
• grupo fosfato
• um açucar (desoxirribose) com cinco átomos de carbono (numerados de 10 a 50)
• base azotada
As bases azotadas podem ser de quatro tipo pertencentes a duas categorias: as purinas , adenina (A) e guanina (G) e as pirimidinas, citosina (C) e timina (T).
Por reações de condensação, os nucleótidos podem ligar-se sequencialmente e formar uma
cadeia polinucleótidica. Cada novo nucleótido liga-se pelo grupo fosfato ao carbono 30
da pentose do último nucleótido da cadeia, repetindo-se o processo na direção 50 →30.[1]
Uma observação importante que levou à descoberta por Watson e Crick da estrutura em dupla hélice da molécula de DNA é que as bases têm tendência a emparelhar-se através de ligações de hidrogénio. Além disso, os pares são formados por uma purina e uma piramidina tendo por isso um tamanho semelhante.[5] Assim sendo, as duas cadeias polinucleótidicas são tais que:
• as cadeias são complementares e anti-paralelas
• as cadeias estão entrelaçadas sobre um mesmo eixo produzindo uma dupla hélice • as bases estão por dentro e os fosfatos e açúcares no exterior da dupla hélice • as duas cadeias estão unidas por ligações de hidrogénio entre as bases.
• Existem apenas dois tipos de pares de bases (que estão conectados por ligações de hidrogénio): A − T e G − C.
A estrutura de uma molécula de DNA está representada na imagem seguinte:
Figura 1.1: Representação esquemática de uma molécula de DNA [7]
A fim de entender as propriedades físicas da molécula de DNA é fundamental perceber as interações entre os principais grupos atómicos. Já vimos que existem apenas dois tipos de pares de bases, A − T que estão unidas por duas ligações de hidrogénio e G − C unidas por três ligações de hidrogénio, sendo portanto mais robustas. Embora as ligações de hidrogénio sejam fracas (em comparação com as ligações covalentes), elas têm um papel crucial na estabilidade da estrutura em dupla hélice. Para se ter uma ideia, a ligação covalente C − C tem comprimento 1.54 Å, uma energia de ligação de 3.6 eV e são
FCUP 5 Solução numérica de um modelo para o DNA
necessários 0.14 eV de forma a alongar a ligação em 0.1 Å. Em contraponto, uma típica ligação de hidrogénio, tal como O-H. . . O tem um comprimento de 2.75 Å, uma energia de 0.13 − 0.26 eV e são apenas necessários 0.004 eV para expandir a ligação em 0.1 Å. Portanto as ligações covalentes, para além de terem uma maior energia de ligação são também mais rígidas.[5]
1.2 Função e dinâmica da molécula de DNA
As proteínas são polímeros biológicos, constituídos por aminoácidos, que desempenham a maior parte das funções num organismo. São responsáveis por catalizar reações quími-cas, transportar outras moléculas (como o caso do oxigénio), formar canais iónicos nas membranas celulares, entre muitos outros.[5]
As instruções para sintetizar estas proteínas estão presentes na sequência de bases no DNA. Como existem apenas quatro bases possíveis no DNA, uma base não pode codi-ficar um aminoácido (existem vinte diferentes). São necessárias três bases consecutivas (tripleto) para representar a mais pequena unidade de mensagem genética necessária para a codificação de um aminoácido. Com três letras por aminoácido, o código é redun-dante, pois vários tripletos podem codificar o mesmo aminoácido. No entanto, algumas sequências específicas não codificam aminoácidos tal como a sequência TAA (codão de terminação) que dá a instrução para a terminação da cadeia de síntese da proteína. Além disso, existem sequências de bases que não codificam informação. [5]
A leitura do código genético é uma operação complexa, porque, tal como já vimos, as bases (que contêm a informação genética) estão no interior da dupla hélice. Assim, para se ter acesso ao código genético são necessárias grandes distorções da molécula de DNA. A transcrição do DNA, que é a leitura da informação genética que leva à síntese de uma proteína, é feita com a ação da enzima RNA polimerase. Esta enzima percorre a molécula de DNA até encontrar o codão de iniciação e a partir daí rompe as ligações de hidrogénio entre os nucleótidos, funcionando como um fecho, porque após a passagem da enzima as ligações são restabelecidas. As bases que ficam expostas durante o processo são copiadas, por complementariedade de bases para uma molécula de RNA que irá servir de mensa-geiro para a tradução da mensagem genética. [5][1] Tanto na síntese proteica como na replicação da molécula de DNA, que são fundamentais a nível celular existem grandes
distorções da molécula, o que por si só já justifica o carácter não linear da sua dinâmica. O processo de “breathing” do DNA consiste na abertura temporária dos pares de bases e estudos indicam que as mudanças de conformação que levam à abertura dos pares de bases são altamente localizados. Isto significa que a ligação entre bases sucessivas é fraca o suficiente para permitir que duas bases consecutivas se movam de forma praticamente independente. [4]
1.3 Um modelo simples para o DNA
Como foi referido anteriormente, se fosse assumida a dinâmica linear da molécula de DNA vários aspetos biológicos da molécula não poderiam ser explicados. Nos artigos [5] e [4] Michel Peyrard apresentou um modelo que embora simples, engloba alguns aspetos importantes da molécula de DNA.
O primeiro problema a ser colocado consiste na escolha da escala que queremos trabalhar o que está diretamente relacionado com as propriedades que queremos estudar. Como já vimos, é no DNA que está guardada a informação genética, portanto o modelo com que vamos trabalhar usa as entidades que codificam a informação genética como escala, ou seja os pares de bases.
À escala dos pares de base, o modelo mais simples que podemos estabelecer é o Ising model. Este modelo pode ser descrito por uma variável binária yk que é igual a 0 se o par está fechado ou igual a 1 se o par está aberto (os pares não estão unidos pela ligação de hidrogénio). Este modelo, embora simples, tem a desvantagem de conter um grande número de parâmetros que não podem ser obtidos. Além disso, como a variável que des-creve o modelo é binária, não pode desdes-crever a dinâmica não linear da abertura ou fecho da ligação. Para isso precisamos da descrição contínua dos estados intermédios.[5] O próximo passo seria então usar uma variável real para descrever o comprimento da ligação que liga o par de bases. Seja yk o alongamento da ligação de hidrogénio no
k−ésimo par de bases. O valor yk = 0 corresponde ao caso em que o par de base está fechado, sendo que a variável pode agora aumentar continuamente e no caso yk = ∞ as bases estão completamente separadas. A variável yk pode também tomar valores
FCUP 7 Solução numérica de um modelo para o DNA
negativos, que corresponde a uma compressão da ligação em relação à posição de equilíbrio
yk = 0. Ora, este modelo engloba um potencial V (yk) que modela a interação entre as bases do mesmo par e também um potencial W (yk, yk+1) que descreve a interação entre bases adjacentes, tal como podemos ver representado no esquema 1.2.
Figura 1.2: Modelo para a dinâmica não linear do DNA O modelo em questão é dado pelo Hamiltoniano:
H =X k pk2 2m + W (yk, yk−1) + V (yk) ! com pk = m dyk dt (1.1)
onde m é a massa das bases que por simplificação do problema vamos considerar iguais independentemente da base em questão. Para descrever a interação entre as duas bases do mesmo par temos o potencial V (y). Para esse propósito usa-se o potencial de Morse, dado por:
V(y) = D(e−ay−1)2
onde D é a energia de dissociação do par de bases e a é um parâmetro que controla a “largura” do potencial (estabelece a escala espacial do potencial).
Este potencial foi escolhido devido a algumas propriedades da função:
• Inclui uma uma força repulsiva para y < 0, o que corresponde ao efeito estérico entre duas moléculas (força repulsiva devido à sobreposição das nuvens de eletrões das duas bases). Devido a esta força repulsiva valores negativos de elevado valor absoluto estão descartados para yk.
Figura 1.3: Potencial de Morse para valores distintos do parâmetro a • Tem um mínimo na posição de equilíbrio correspondente a y = 0.
• Para valores de y elevados fica praticamente constante, o que significa que a força en-tre as bases tende a desaparecer (o que corresponde ao esperado). Esta propriedade permite uma total dissociação das bases.
O potencial W (yk, yk−1) descreve a interação entre bases adjacentes ao longo da cadeia de DNA. Este potencial tem várias origens físicas que não vamos explorar, mas que podem ser vistos em [5]. Vamos considerar
W(yk, yk−1) = 1
2K(yk− yk−1)2.
Esta expressão atinge um mínimo para yk = yk−1e seria uma boa aproximação se as forças atrativas entre os aneis aromáticos fossem suficientemente fortes para manter ykpróximo de yk−1 quase sempre. Na realidade isto não acontece, mas este modelo é suficiente para obter alguns resultados interessantes e concordantes com observações experimentais. A escolha dos parâmetros dos potenciais é uma questão complicada [5]. Usaremos neste trabalho os parâmetros propostos por [5] que foram calibrados em concordância com da-dos experimentais. Os parâmetros para V (y) são D = 0.03 eV e a = 4.5 Å−1. O valor escolhido para K é de K = 0.06 eV Å−2 e considera-se a massa média dos nucleótidos como sendo m = 300 amu. Embora a presença de unidades seja importante para uma interpretação física, para cálculos teóricos é útil exprimir o problema de forma adimen-sional. [5] Introduzimos a variável Y = ay, que representa o alongamento da ligação (adimensional), definimos S = K Da2, H 0 = H D e o tempo adimensional τ = q Da2 m t. Assim,
FCUP 9 Solução numérica de um modelo para o DNA
obtemos o Hamiltoniano H0 apenas em função de quantidades adimensionais.
H0 =X k 1 2Pk2+ 1 2S(Yk− Yk−1)2+ (e−Yk −1)2 Pk = dYk dτ ,
onde k ∈ {1, . . . , N} e N é o número de pares da base da molécula. Este Hamiltoniano depende apenas de S que pode ser calculado usando os parâmetros definidos anterior-mente, sendo S = 8
81.
As equações de movimento são dadas pelas equações de Hamilton- Jacobi: dYk dτ = ∂H ∂Pk dPk dτ = − ∂H ∂Yk , k= 1, . . . , N
Sabemos ainda que dPk
dτ = d2Y k dτ2 e portanto d2Y k dτ2 = − ∂H
∂Yk. Para calcularmos
∂H
∂Yk basta notar
que os únicos termos da soma de H0 que vão ter derivada não nula são o k-ésimo e o
(k + 1)-ésimo. Desta forma,
∂H ∂Yk = 2 × 1 2S(Yk− Yk−1) − 2 × 1 2S(Yk+1− Yk) − 2e−Yk(e−Yk−1) = −S(Yk+1−2Yk+ Yk−1) − 2e−Yk(e−Yk −1)
Portanto, temos que:
d2Yk
dτ2 = S(Yk+1−2Yk+ Yk−1) + 2e
−Yk(e−Yk−1), k = 1, . . . , N
Existem modelos mais sofisticados introduzidos por Michel Peyrard que modificam o potencial W (yk, yk−1). A interação W que é usada no modelo considerado é uma aproxi-mação grosseira já que atividades experimentais mostram que um par de bases pode abrir independentemente dos seus vizinhos [4]. No entanto a nossa aproximação permite cál-culos mais simples e é suficiente para obter alguns resultados coerentes com observações experimentais [5].
Capítulo 2
Polinómios ortogonais
Nesta secção pretende-se explorar algumas propriedades e resultados sobre polinómios ortogonais. Como o objetivo da secção é de apenas introduzir alguns conceitos, os resul-tados apresenresul-tados não serão provados. Além disso, serão apresentadas algumas famílias de polinómios ortogonais.
2.1 Noções básicas
Começamos por definir o espaço Pncomo sendo o espaço de todas as combinações lineares de polinómios de grau r ≤ n. Ora, os elementos de Pn podem então ser escritos como
Pr = Pri=0pixi, com pr 6= 0. Para definir a noção de ortogonalidade de uma família de polinómios é necessário primeiro definir um produto interno. Para este efeito, vamos utilizar um produto interno da forma: [6]
hu, viw = Z b
a
u(x)v(x)w(x)dx
onde, u, v ∈ L2
w (funções integráveis de peso w) e w ∈ L1 é uma função não negativa com
Rb
aw(x)dx > 0 à qual chamamos função peso.
Nota:
Uma função f diz-se de classe L2
w no intervalo [a, b] se:
Z b
a
|f(x)|2w(x)dx
existe.
Definição 2.1.1. [2] Seja Q= {Qk}∞k=0 uma família de polinómios e w uma função peso 11
definida em [a, b], a < b ∈ R. Dizemos que Q é uma família de polinómios ortogonais se hQt, Qsiw = Z b a QtQswdx = kQtk 2 δts, ∀t, s
onde δts é a função delta de Kronecker.
Uma observação pertinente é que uma família de polinómios ortogonais é linearmente independente, pela forma como a definimos. Como Q = {Qk}∞k=0 é tal que grau(Qk)= k para cada k ∈ N então todos os polinómios da família têm grau diferente, o que torna a sucessão claramente linearmente independente.
Definição 2.1.2. [2] Seja Q = {Qk}∞k=0 uma família de polinómios ortogonais. Se f ∈
L2w, podemos fazer-lhe corresponder uma série formal de Fourier f ∼P∞
i=0aiQi, onde ai = 1 kQik 2 hf, Qiiw = 1 kQik 2 Z b a f Qiwdx, i ≥0
são os coeficientes de Fourier de f com respeito à família de polinómios P .
O seguinte resultado diz-nos que as somas parciais da série de Fourier têm uma proprie-dade de minimização muito importante.
Teorema 2.1.1. [6] Seja Q = {Qk}∞k=0 uma família de polinómios ortogonais e fn =
Pn
i=0aiQi, a n−ésima soma parcial da série de Fourier de f . Então
Z b a (f − fn) 2 wdx ≤ Z b a (f − Pn) 2 wdx ∀Pn∈ Pn
O teorema seguinte permite-nos calcular recursivamente polinómios ortogonais, o que se revela de grande importância na economia computacional, porque a cada iteração preci-samos apenas de guardar o termo anterior.
Teorema 2.1.2. Seja Q= {Qk}∞k=0 uma família de polinómios ortogonais, então existe
uma relação de recorrência de ordem 2 que lhe está associada.
xQn= αnQn+1+ βnQn+ γnQn−1, n ≥0 Q0 = 1 Q−1= 0
FCUP 13 Solução numérica de um modelo para o DNA
onde αn, βn, γn são constantes reais dependentes apenas de n.
2.2 Polinómios ortogonais clássicos
Ö trabalho desta tese vai centrar-se essencialmente na resolução numérica de sistemas de equações diferencias. No caso do método que será utilizado, existe uma classe de polinó-mios ortogonais que será de grande relevância, os polinópolinó-mios ortogonais clássicos.[3]
Definição 2.2.1. Seja Q = {Qk}∞k=0 uma família de polinómios ortogonais e Z = {Zk}∞k=0 uma família de polinómios, tal que
Zn =
d
dxQn+1.
Neste caso dizemos que Q é uma família de polinómios ortogonais clássicos se e só se Z também for uma família de polinómios ortogonais.
Estamos agora em condições de apresentar algumas família de polinómios ortogonais clássicos mais usuais e que se distinguem essencialmente pelo intervalo em que estão definidos e pela função peso utilizadas.
2.2.1 Polinómios de Legendre
A família de polinómios de Legendre, que designaremos por P, é constituida por a po-linómios ortogonais no intervalo [−1, 1] com a função peso w(x) = 1. A fórmula de recorrência para os polinómios de Legendre é dada por:
xPn= n+ 1 2n + 1Pn+1− n 2n + 1Pn−1, n ≥ 0 com P−1 = 0 e P0 = 1. 2.2.2 Polinómios de Chebyshev
Uma família de polinómios ortogonais muito importante e recorrente nas mais diver-sas aplicações, são os polinómios de Chebyshev de primeira espécie, T , que estão definimos no intervalo [−1, 1] com a função peso:
w(x) = (1 − x2)− 1 2.
Estes polinómios podem ser definidos pela fórmula fechada:
Tn(x) = cos(n arccos x)
A fómula de recorrência para os polinómios de Chebyshev de primeira espécie é
xTn = 1 2Tn+1+ 1 2Tn−1, n ≥0 com T−1 = x e T0 = 1.
Os polinómios de Chebyshev de segunda espécie, U, estão definimos no intervalo [−1, 1], sendo a sua função peso dada por:
w(x) = (1 − x2) 1 2.
É possível verificar que
Un(x) = sin(n + 1)θ
sin(θ) , x= cos(θ) A fórmula de recorrência para estes polinómios é dada por:
xUn = 1 2Un+1+ 1 2Un−1, n ≥ 0 onde U−1 = 0 e U0 = 1. 2.2.3 Polinómios de Jacobi
Os polinómios de Jacobi, que designamos por J(α,β) estão definidos em [−1, 1] com a
função peso:
w(x) = (1 − x2)α(1 + x2)β, α, β > −1
Podemos verificar que tanto os polinómios de Legendre, como os polinómios de Chebyshev não passam de casos particulares dos polinómios de Jacobi. No caso dos polinómios de Legendre, basta tomar α = β = 0. Quanto aos polinómios de Chebyshev de primeira e segunda espécie, tem-se α = β = −1
2 e α = β = 1
2 respetivamente. A sua fómula de
recorrência é xJn(α,β) = αnJ (α,β) n+1 + βnJn(α,β)+ γnJ (α,β) n−1 , n ≥0
FCUP 15 Solução numérica de um modelo para o DNA
onde αn = 2(n + 1)(n + α + β + 1) (2n + α + β + 1)(2n + α + β + 2) βn = − α2− β2 (2n + α + β + 2)(2n + α + β) γn = 2(n + α)(n + β) (2n + α + β + 1)(2n + α + β). Temos ainda que J(α,β)
−1 = 0 e J (α,β) 0 = 1 .
2.2.4 Polinómios de Laguerre e Hermite
Os polinómios de Laguerre, L(α) são definidos em [0, ∞) com a função peso:
w(x) = xαexp(−x), α > −1
Os polinómios de Hermite, designados por Hn estão definidos em R e a sua função peso é dada por:
w(x) = exp(−x2)
2.3 Matrizes de mudança de base
As matrizes, que designaremos por VQ representam os coeficientes das famílias de
poli-nómios ortogonais apresentadas anteriormente. Na coluna i são colocados os coeficientes do polinómio Qi.
Exemplo 2.3.1. Os primeiros polinómios de Chebyshev de primeira espécie são:
T0(x) = 1 T1(x) = x T2(x) = −1 + 2x2 T3(x) = −3x + 4x3 T4(x) = 1 − 8x2 + 8x4 T5(x) = 5x − 20x3+ 16x5 . . .
Assim, a matriz VT = 1 0 −1 0 1 0 . . . 1 0 −3 0 5 . . . 2 0 −8 0 . . . 4 0 −20 . . . 8 0 . . . 16 . . . . .. .
No seguimento desta tese vamos referir-nos aos polinómios ortogonais clássicos apenas como polinómios ortogonais. Agora que apresentamos algumas das famílias de polinómios ortogonais mais importantes é essencial introduzir o problema de mudança de intervalo de ortogonalidade.
2.4 Mudança de intervalo de ortogonalidade
Em muitos problemas e aplicações, pode ser necessário usar intervalos da forma [a, b]. Como sabemos, algumas das boas propriedades dos polinómios ortogonais acontecem apenas no seu intervalo de ortogonalidade, sendo por isso de vital importância podermos muda-lo consoante o problema. Em relação ao intervalo [−1, 1], onde estão definidos os polinómios de Chebyshev, Jacobi e Legendre, a mudança para o intervalo [a, b] faz-se tomando:
x= 2
b − ax
∗− b+ a
b − a.
Os novos coeficientes da forma recursiva x∗Q∗ n = α ∗ nQ ∗ n+1+β ∗ nQ ∗ n+γ ∗ nQ ∗
n−1 são dados por:
αn∗ = (b − a)αn 2 , βn∗ = (b − a)βn+ a + b 2 , γn∗ = (b − a)γn 2
Estamos assim em condições de mudar de intervalo de ortogonalidade com facilidade. Esta mudança tem especial importância na próxima secção.
Capítulo 3
Método tau
O método tau é um método numérico que permite aproximar, através de polinómios, a solução de um sistema de equações diferenciais. A ideia do método passa por obter uma solução aproximada (na forma polinomial) introduzindo no segundo membro da equação diferencial uma pequena perturbação de modo a facilitar a obtenção da solução. Tanto a perturbação como a solução aproximada são uma combinação linear de polinómios.
3.1 Formulação de Lanczos
Seja y uma função que satisfaz as seguintes condições: Dy = f, x ∈]a, b[ gj(y) = σj, j = 1(1)ν onde D= ν X r=0 Pr dr dxr
é um operador diferencial de ordem ν e Pr ∈ Pn. A função f é um polinómio, ou aproxi-mação polinomial e σj são as ν condições de fronteira. A ideia de Lanczos passaria então por perturbar o problema original adicionando-lhe uma combinação linear de polinómios de Chebyshev, resultando então o problema tau associado:
Dyn = f + τ, x ∈]a, b[ gj(yn) = σj, j = 1(1)ν onde τ = n+h X i=n−ν+1 τiTi 17
é o polinómio responsável por perturbar o problema e é uma combinação linear de poli-nómios de Chebyshev de primeira espécie sendo os coeficientes τi os parâmetros tau. A constante h é a altura do operador D e é definida como:
h= sup
n∈N
{grau(DTn) − n}
Exemplo 3.1.1. O seguinte problema diferencial dado por:
x3 d 2 dx2y+ x d dxy+ y = 3x 5−2x2+ 3, x ∈] − 1, 1[ y(−1) = −2, y(1) = 3 Neste caso, Dy = x3 d 2 dx2y+ x d dxy+ y, ν = 2 e h = 1.
3.2 Perturbação tau
Em vez de se fixar a perturbação τ e depois resolver o problema de forma exata, o procedimento passa por fixar uma base T e representar yn nessa base, ou seja, yn seria da forma: yn= n X i=0 aiTi
sendo que as incógnitas do problema passam a ser os coeficientes a= [a0, . . . , an]. O objetivo é que yn satisfaça as condições de fronteira e que Dyn coincida com Dy nos coeficientes até ao grau n − ν.
Note-se que embora na formulação original de Lanczos, a base de polinómios ortogonais escolhida tenha sido uma base de polinómios de Chebyshev de primeira espécie, o método funciona igualmente para qualquer base de polinómios ortogonais clássicos.
Exemplo 3.2.1. [3] Consideremos o problema diferencial
d dxy+ y = 0, x ∈]0, 1[ y(0) = 1
A solução exata deste problema é imediata, sendo y(x) = exp(−x). No entanto, vamos
FCUP 19 Solução numérica de um modelo para o DNA
Os polinómios de Chebyshev de primeira espécie ortogonais no intervalo [0, 1] são: T0 = 1 T1 = 2x − 1 T2 = 8x2−8x + 1 T3 = 32x3−48x2+ 18x − 1 T4 = 128x4 −256x3+ 160x2−32x + 1 .. .
Neste exemplo vamos usar n= 4. Como ν = 1 e h = 0, o problema perturbado vai ter a
forma: d dxy4+ y4 = τ4T4 y4(0) = 1
onde y4 =P4i=0aiTi. Neste caso temos que ν = 1 e h = 0. As derivadas dos polinómios de
Chebyshev podem ser calculas em função de polinómios de Chebyshev de ordem inferior. Temos que: d dxT0 = 0 d dxT3 = 12T2+ 6T0 d dxT1 = 2T0 d dxT4 = 16T3+ 16T1 d dxT2 = 8T1 Ora, como d dxy4 = P4 i=0ai d dxTi, temos que d
dxy4 = (2a1 + 6a3)T0 + (8a2 + 16a4)T1 +
12a3T2+ 16a4T3 e portanto:
Dy4 = (a0+ 2a1+ 6a3)T0+ (a1+ 8a2+ 16a4)T1+ (a2+ 12a3)T2+ (a3+ 16a4)T3+ a4T4
As incógnitas do problema são então a0, . . . , a4, τ4. Pela igualdade dos coeficientes da
equação lineares, obtemos 5 equações, sendo a sexta obtida pela condição de fronteira
y4(0) = 1. Da condição de fronteira resulta que a0− a1+ a2− a3 + a4 = 1. O sistema
1 −1 1 −1 1 1 2 0 6 0 1 8 0 16 1 12 0 1 16 1 a0 a1 a2 a3 a4 = 1 0 0 0 0 τ4
Resolvendo o sistema, obtemos y4 na base de Chebyshev de primeira espécie
y4 = 3200 4961T0− 1552 4961T1+ 192 4961T2− 16 4961T3+ 1 4961T4, τ4 = 1 4961
Conforme o previsto o valor de τ é “pequeno”, pelo que a equação modificada não difere muito da equação original. O polinómio y4 pode ser escrito na base usual como
y4 = 1 − 4960 4961x+ 224 451x2 − 768 4961x3+ 128 4961x4
A figura 3.1 apresenta os gráficos do erro absoluto, |y4−exp(−x)|, e do resíduo, |−τ4T4|.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10-7 10-6 10-5 10-4 10-3 | y4− exp(−x) | | −τ4T4|
Figura 3.1: Erro absoluto e resíduo
Neste caso, o erro absoluto apresenta genericamente valores menores em relação ao resí-duo. O carácter oscilatório do resíduo deve-se ao facto de para este exemplo ele ser um múltiplo de T4.
FCUP 21 Solução numérica de um modelo para o DNA
3.3 Formulação operacional
A formulação de Lanczos do método tau que vimos anteriormente não é computacio-nalmente prática para ser aplicada. Ortiz e Samara (1981) adaptaram o método tau de Lanczos do ponto de vista operacional, o que o torna de mais fácil implementação e computacionalmente mais eficiente.
Seja X = [1, x, x2, . . .] a base usual de polinómios. Podemos escrever y
n = Pni=0aixi = X a, sendo que a= [a0, . . . , an,0, 0, . . .]T. Podemos definir matrizes que representam a ação de operadores sobre os coeficientes de yn. Sejam:
• M: matriz que permite incrementar o grau de yn numa unidade em cada monómio. X Ma= xy
• N: matriz que permite derivar yn
X Na= d
dxy
Estas matrizes são da forma:
M= 0 1 0 1 0 1 0 ... ... , N= 0 1 0 2 0 3 0 ... ...
As potências destas matrizes têm também uma grande importância, pois representam operadores de ordens superiores.
Proposição 3.3.1. Sejam P e Q dois polinómios na base X e p e q os seus vetores de
coeficientes. Seja ainda M a matriz definida anteriormente. Temos que:
1. X xr = X Mr, r ∈ N
2. X P = X P (M), P(M) =Pn
i=0piMi
3. X P Q= X P (M)q = X Q(M)p
Proposição 3.3.2. Seja P um polinómio representado em X e p o seu vetor de
derivação de ordem superior da seguinte forma: dr dxrX p= X N rp sendo que Nr = 0 . . . 0 r! 0! 0 . . . 0 0 (r+1)! 1! .. . ... 0 0 (r+2)!2! . .. . .. .
Teorema 3.3.1. Seja yn=Pni=0aixi = X a, com a= [a0, . . . , an,0, 0, . . .]T um polinómio
na base usual. Seja ainda
D= ν X r=0 Pr dr dxr
onde Pr é um polinómio que pode ser escrito na forma:
Pr = nr X i=0 prixi, pr = [pr0, pr1, . . . , prnr,0, 0, . . .] T
Fazer D operar sobre yn pode ser traduzido matricialmente para
Dyn = X Da, D = ν
X
k=0
Pk(M)Nk
Exemplo 3.3.1. Seja Dy = −y + 2xdxdy + x3 d2
dx2y, a matriz D é simplesmente D =
−I+ 2MN + M3N2, onde I é a matriz identidade de dimensão adequada.
Todos os operadores matriciais que vimos anteriormente são para a base de potências usual. No entanto, para o método tau usa-se uma base de polinómios ortogonais. Torna-se portanto fundamental fazer uma transformação de Torna-semelhança nas matrizes que repre-sentam os operadores.
Teorema 3.3.2. Seja Q = (Qk)k∈N uma base de polinómios ortogonais e VQ a matriz
dos seus coeficientes, ou seja, a matriz tal que Q = X VQ. As matrizes que traduzem as
operações de multiplicação xkQ= QMk
Q e de derivação d
k
dxkQ= QNkQ são dadas por:
MQ = VQ−1MVQ, NQ = V−1Q NVQ
com M e N como definidas anteriormente.
Esta formulação matricial vai permitir-nos escrever o método tau de uma forma mais simples para ser implementado.
FCUP 23 Solução numérica de um modelo para o DNA
3.4 Método tau para equações diferenciais ordinárias
Seja Q = (Qk)k∈N uma base de polinómios ortogonais e yn = Pni=0aiQi = QaQ um
polinómio na base Q de coeficientes aQ = [a0, . . . , an,0, . . .]T. Vimos na secção 3.1 que o problema perturbado Dyn = f + τ, x ∈]a, b[ gj(yn) = σj, j = 1(1)ν onde D= ν X r=0 Pr dr dxr e τ = n+h X i=n−ν+1 τiTi
pode ser resolvido através de um sistema de equações lineares. No entanto, o problema pode ser transcrito seguindo a formulação operacional da subsecção anterior. Para tal definimos as matrizes CQ e DQ da seguinte forma:
CQ = [cij]ν×∞, cij = gi(Qj), i = 1(1)ν, j ≥ 0 e DQ = ν X r=0 Pr(MQ)NrQ, Pr(MQ) = nr X k=0 prkMkQ, Pr = nr X i=0 prixi Assim, o problema a ser resolvido consiste no sistema infinito
CQaQ = s DQaQ = fQ,
onde s = [σ1, . . . , σν]T e fQ = [f0, . . . , fλ,0, . . .]T são os coeficientes de fQ = Pλi=0fiQi. Se concatenarmos as matrizes e vetores do sistema acima, obtemos a equação
TQaQ = bQ, onde TQ = CQ DQ e bQ = s fQ .
Se truncarmos a matriz infinita TQ na dimensão n, obtemos uma aproximação polinomial
de ordem n − 1 para a solução y.
Figura 3.2: Estrutura da matriz TQ
do operador D e todos os elementos de fQ, satisfazendo assim:
n ≥max (ν + h, ν + λ)
onde h é a altura do operador D.
3.5 Método tau para sistemas de equações diferenciais ordinárias
Como vimos anteriormente, 1.3, pretendemos resolver um sistema de equações diferenciais não lineares. Para isso, iniciamos o nosso estudo por resolver um sistema de equações diferenciais ordinárias lineares não homogéneas e com coeficientes polinomiais usando o método tau. Dy= f, x ∈]a, b[ gk(y) = σk, k= 1(1)ν onde:
• y = [y1, . . . , ym]T é um vetor de dimensão m e cujas componentes são as funções que pretendemos aproximar.
• f = [f1 = Pnk=0f1kxk, . . . , fm = Pnk=0fmkxk]T é uma função m-dimensional com componentes polinomiais, ou, no caso de não serem, aproximações polinomiais.
FCUP 25 Solução numérica de um modelo para o DNA
• gk são as funcionais nas componentes de y,dxdy, . . . , d
ν−1
dxν−1y
• D é o operador diferencial na forma matricial e de dimensão m × m. Temos que Dij = νij X r=0 Prij d r dxr (3.1)
onde i representa a equação do sistema e j a variável, ou seja, Dij representa o operador diferencial da equação i que afeta a variável j e
Prij =
nij
X
k=0
pijrkxk = X pijr
Além disso, temos que νij é a ordem do operador D na equação i e na variável j. Portanto, a ordem do sistema, ν é dada por:
ν= m X i=1 νi, νi = max 1≤j≤nνij
Antes de prosseguir, vamos dar um exemplo para o operador diferencial matricial.
Exemplo 3.5.1. d2 dx2y1+ 2x d2 dx2y2− x 2 d dxy1 = 2x + 3 x d 3 dx3y2−3x 2 d dxy2+ y1 = 3x 2
Neste exemplo temos duas equações e duas variáveis, sendo portanto o operador diferen-cial, D de dimensão 2 × 2. Dy = d2 dx2y1− x 2 d dxy1 2x d2 dx2y2 y1 x d3 dx3y2 −3x 2 d dxy2
Tal como no caso onde tínhamos apenas uma equação diferencial, introduzimos uma perturbação no sistema, que desta vez consiste em m combinações lineares de grau n + h de polinómios ortogonais, cada uma para cada equação. A perturbação na equação i é dada por τni = n+h X k=n−ν+1 τikQk e a perturbação total no sistema é
τn= [τn1, . . . , τnm] T
O problema perturbado é dado por Dyn= f + τn, x ∈]a, b[ gk(yn) = σk, k = 1(1)ν
e neste caso temos a garantia da existência de yn = [yn1, . . . , ynm] que soluciona exa-tamente o problema perturbado. Embora não tenhamos qualquer informação sobre a solução y, será de esperar que yn ≈ y. No entanto, não vamos poder avaliar com preci-são essa aproximação. A solução exata do problema perturbado, yn é tal que
yni = n
X
j=0
anijQj = Qani, i= 1(1)m Como, por hipótese, as funcionais gk são lineares, tem-se
gk(yn) = m X i=1 gki(yni) =Xm i=1 n X j=0 anijgki(Qj)
Tal como no caso com apenas uma equação, a ideia passa por resolver um sistema de equações lineares que englobe as condições de fronteira e a ação do operador D. Quando se trunca o problema na dimensão n, obtem-se um polinómio de ordem n para cada yni. Os coeficientes a = [aT
n1, . . . , aTnm]T da solução, são soluções do sistema Ta= b
onde T é uma matriz por blocos, onde os blocos da forma
Ci = g1i(Q0) g1i(Q1) . . . g1i(Qn) g2i(Q0) g2i(Q1) . . . g2i(Qn) ... ... ...
gνi(Q0) gνi(Q1) . . . gνi(Qn)
, i= 1(1)m
representam as ν aplicações das funcionais, traduzindo as condições de fronteira da se-guinte forma:
m
X
i=1
Ciani = s, onde s = [σ1, σ2, . . . , σν]T
FCUP 27 Solução numérica de um modelo para o DNA
matriz Dij que pode ser obtida da seguinte forma Dij =
νij
X
r=0
Prij(M)Nr, i, j = 1(1)m
e tem dimensão (n − νj) × n. Além disso, Dij é tal que m
X
i=1
Dijani= fj, j = 1(1)m onde fj é o vetor que representa fj na base Q, ou seja
nj
X
k=0
fjkQk= Qfj, fj = [fj0, fj1, . . . , fjnj,0, . . . , 0] é um vetor de dimensão n − νj.
A estrutura da matriz T está representada na figura seguinte:
Figura 3.3: Estrutura da matriz T para um sistema de equações diferenciais ordinárias
Finalmente, b = [sT, f
3.6 Método tau para problemas não lineares
Como vimos na secção 1.3 o sistema de equações dado pelo modelo de DNA é não linear. É, portanto, essencial estudar o caso em que temos uma equação não linear que envolve a solução desconhecida y e as suas derivadas. Dado que o método tau é um método numé-rico para aproximar as soluções de problemas diferenciais lineares, é necessário primeiro aproximar o operador não linear por um operador linear.
Qualquer equação diferencial não linear por ser escrito na forma:
F y, d dxy, . . . , dν dxνy ! = 0 (3.2)
onde F é uma função não linear pertencente a um espaço de funções contínuas e suaves.
Seja y uma solução de (3.2), com as condições iniciais e de fronteira adequadas. Considere-se ω = y, d dxy, . . . , dν dxνy ! .
Definimos ainda Ω como sendo uma vizinhança de ω e
ω(0) = y(0), d dxy (0), . . . , d ν dxνy (0) ! ∈Ω
uma aproximação de ω. Assumindo agora que F admite derivadas parciais de todas as ordens em Ω, podemos definir um operador T que representa o polinómio de Taylor de primeira ordem de F centrado em ω(0),
T y, d dxy, . . . , dν dxνy ! = F (ω(0)) + ν X i=0 ∂F ∂ di dxiy ω(0) di dxiy − di dxiy (0) ! .
Podemos substituir em (3.2) a função F pelo seu polinómio de Taylor, T , e resolver a equação aproximada: F(ω(0)) + ν X i=0 ∂F ∂dxdiiy ω(0) di dxiy − di dxiy (0) ! = 0 (3.3) ⇐⇒ ν X i=0 ∂F ∂dxdiiy ω(0) di dxiy= −F (ω (0)) + ν X i=0 ∂F ∂dxdiiy ω(0) di dxiy (0) (3.4)
FCUP 29 Solução numérica de um modelo para o DNA
Se aplicarmos o método tau para a equação diferencial linear (3.3) e considerarmos
ω(1) = y(1), d dxy (1), . . . , dν dxνy (1) ! ∈Ω
como solução, podemos repetir iterativamente o processo resolvendo a equação diferencial linear: ν X i=0 ∂F ∂dxdiiy ω(k−1) di dxiy (k)= −F (ω(k−1)) + ν X i=0 ∂F ∂dxdiiy ω(k−1) di dxiy (k−1), k ∈ N
Apresentamos seguidamente um exemplo de linearização de uma equação diferencial não linear usando este método.
Exemplo 3.6.1. Consideremos o seguinte problema de valor inicial
dy dx + y 2+ y = 0, x ∈ [0, 1] y(0) = 1
a sua solução exata é y(x) = 2ex1−1. Aplicando o processo de linearização de Newton,
obtemos a recorrência d dxy
(k)+ 2y(k−1)y(k)+ y(k)= y(k−1)2, k= 1, 2, . . .
Para y(0) podemos considerar a função constante y = 1. Desta forma, chegamos ao
primeiro problema diferencial:
d dxy (1)+ 3y(1) = 1, x ∈ [0, 1] y(1)(0) = 1
cuja solução já pode ser aproximada pelo método tau.
3.7 Estimativas do erro
Para o problema que pretendemos resolver, não temos solução exata conhecida. Além disso, o método tau não garante convergência para a solução exata. Torna-se portanto importante estimar o erro que estamos a cometer quando resolvemos o problema tau associado.
Como vimos na secção 3.1, dado um problema diferencial, Dy = f, x ∈]a, b[ gj(y) = σj, j = 1(1)ν podemos resolver o problema tau associado
Dyn = f + τ, x ∈]a, b[ gj(yn) = σj, j = 1(1)ν
Tratando-se de problemas lineares, se fizermos a diferença destes dois sistemas, obtemos Dy − Dyn= f − f − τ, x ∈]a, b[ gj(y) − gj(yn) = 0, j = 1(1)ν ⇐⇒ D(y − yn) = −τ, x ∈]a, b[ gj(y − yn) = 0, j = 1(1)ν E portanto, temos que a função erro, en = y − yn é solução do problema diferencial [3]
D(en) = −τ, x ∈]a, b[ gj(en) = 0, j = 1(1)ν
Usando novamente o método tau, é então possível estimar a função erro.
No caso em que o operador D é não linear, já vimos que é necessário primeiro aproxima-lo por um operador linear ˜D. Esta aproximação obtém-se de forma iterativa com base no método de Newton, até Dy − ˜Dy= δ(t) tal que maxa≤t≤b|δ(t)| ≤ . Neste caso é apenas possível estimar a função erro en= y − yn em relação ao problema linearizado. Ou seja,
en é solução do problema diferencial:
˜ D(en) = −τ, x ∈]a, b[ gj(en) = 0, j = 1(1)ν
Dado que é perdida bastante informação por se estimar o erro com base no problema linearizado, podemos calcular o resíduo da solução. Seja yn a solução aproximada do problema diferencial, calculada através do método tau:
Dy = f, x ∈]a, b[ gj(y) = σj, j = 1(1)ν
FCUP 31 Solução numérica de um modelo para o DNA
Ora, se yn fosse a solução exata, então teríamos Dyn − f = 0, no entanto, teremos Dyn− f = r, onde a r chamamos resíduo. No capítulo 5 não faremos estimação do erro, sendo que vamos apenas estudar o resíduo para alguns casos em concreto.
Capítulo 4
Tau Toolbox
Em [3] foi desenvolvida uma Toolbox que permite a solução numérica de problemas di-ferenciais usando o método tau. Neste capítulo pretende-se ilustrar alguns exemplos de utilização da Toolbox que permitam entender algumas das funcionalidades desta bibli-oteca, perceber as suas restrições no tratamento do nosso problema e alterar algumas funções existentes de forma a satisfazer os nossos propósitos.
4.1 Alguns exemplos de utilização
Este primeiro exemplo ilustra a utilização da Toolbox para equações diferenciais ordiná-rias. Recuperemos o exemplo 3.2.1:
Exemplo 4.1.1. Consideremos o problema diferencial
d dxy+ y = 0, x ∈]0, 1[ y(0) = 1
Cuja solução exata é y(x) = exp(−x). Para encontrar a solução polinomial aproximada
com grau 4 na base de polinómios de Chebyshev de primeira espécie ortogonais no
inter-valo [0, 1] basta usar as funções tau e tausolver.
[x, y] = tau('ChebyshevT', [0 1], 5);
a = tausolver(x, y, 'diff(y,1)+y=0', {'y(0)=1'}, ... 'exact_solution', 'exp(−x)', 'spy', 1);
Como a solução exata é conhecida podemos ativar o parâmetro 'exact_solution' que
permite à função retornar o gráfico da solução exata e da aproximação obtida. Outro parâmetro adicional prende-se com a estrutura da matriz T e pode ser obtido usando o parâmetro 'spy'. Os gráficos devolvidos são:
x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 y5 (x ) 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 n = 5 Tau approximation Exact solution
(a) Aproximação vs solução exata
0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 2 4 6 8 10 12 14 16 (b) Estrutura da matriz T
A funçãotausolver pode também ser usada para resolver sistemas de equações diferen-ciais ordinárias. Nesta função as incógnitas devem ser escritas na forma 'y1',. . . ,'yk'e a variável independente 'x'ou 't'. Um dos requisitos desta função é que as incógnitas estejam do lado esquerdo da equação e que as variáveis independentes estejam do lado direito.
Exemplo 4.1.2. Consideremos o sistema diferencial seguinte:
y0 = −2y + z z0 = −3y − 2z, x ∈ [0, 2] y(0) = 1 z(0) = 0
Cuja solução exata é y(x) = e−2xcos(√3x) e z(x) = −√3e−2xsin(√3x). Novamente, basta usar as funções tau e tausolver.
[x, y] = tau('ChebyshevT', [0 2], 10);
% obtem a solucao aproximada do sistema
a = tausolver(x, y, {'diff(y1)+2*y1−1*y2=0';'diff(y2)+3*y1+2*y2=0'}, ... {'y1(0)=1';'y2(0)=0'},'exact_solution',...
{'exp(−2*x)*cos(sqrt(3)*x)';'−sqrt(3)*exp(−2*x)*sin(sqrt(3)*x)'},'spy',1);
Ativando novamente os parâmetros 'exact_solution' e 'spy' obtemos uma solução
aproximada de grau 9 que é combinação linear de polinómios de Chebyshev de primeira
FCUP 35 Solução numérica de um modelo para o DNA
x 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 y1 0 (x ) -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 y1 y2
(a) Aproximação vs solução exata
0 5 10 15 20 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 (b) Estrutura da matriz T
Finalmente pretendemos ilustrar a utilização da Toolbox para problemas diferenciais não lineares. Presente na tau Toolbox existe a função tauodenewtonque permite aproximar, pelo método tau, a solução de problemas diferenciais não lineares. No entanto, é neces-sário colocar na função o problema linearizado.
Exemplo 4.1.3. Retomando o exemplo 3.6.1 consideremos o seguinte problema
diferen-cial não linear:
dy dx+ y 2+ y = 0, x ∈ [0, 1] y(0) = 1 (4.1)
Cuja solução exata é y(x) = 2ex1−1. Aplicando o processo de linearização de Newton,
obtemos a recorrência
2 d
dxy
(k)+ 2y(k−1)y(k)+ y(k) = y(k−1)2
e por isso podemos reescrever (4.1) como:
2d dxy (k)+ 2y(k−1)y(k)+ y(k)= y(k−1)2, x ∈[0, 1], k ≥ 0 y(0) = 1
Usando as funçõestauetauodenewton podemos obter a solução aproximada do problema
linearizado.
[x, y] = tau('ChebyshevT', [0 1], 10);
% obtem a solucao aproximada do problema linearizado
conditions = 'y(0)=1';
a=tauodenewton(x, y ,lin_prob ,conditions, 'exact_solution', '1/(2*exp(x)−1)' , 'apsol', 1)
O gráfico seguinte mostra a solução aproximada do problema diferencial linearizado e a solução exata do problema não linear.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Tau approximation Exact solution
Figura 4.3: Aproximação vs solução exata
Para sistemas não lineares em alternativa à funçãotauodenewtonexiste a funçãotausysnewton cujo funcionamento é análogo aos casos anteriores. Esta será a função usada em todo o capítulo 5.
4.2 Extensão da Toolbox
Uma das especificidades da Toolbox prende-se com o facto de permitir apenas resolver sistemas diferenciais de primeira ordem. No entanto esta limitação pode ser facilmente ultrapassada introduzindo no sistema que queremos resolver, variáveis auxiliares que per-mitem baixar a ordem do sistema. Se existir no sistema um termo do tipo dnY
dtn é necessário
adicionar ao sistema n − 1 variáveis auxiliares.
Exemplo 4.2.1. Para um sistema diferencial que contenha um diferencial de quarta
ordem d
4Y
dt4 devemos introduzir as variáveis:
Z1 = dYdt Z2 = dZdt1 Z3 = dZdt2
FCUP 37 Solução numérica de um modelo para o DNA
Subtituindo assim o termo d
4Y
dt4 por
dZ3
dt .
O inconveniente é que podemos facilmente aumentar em muito o número de equações do sistema, no entanto, este problema não vai impor grandes restrições para o propósito deste trabalho.
A maior restrição para o problema que vamos tratar, prende-se com o facto de a função tausysnewtonsó permitir sistemas de primeira ordem com, no máximo, 9 equações. Esta seria uma limitação muito grande neste problema, sendo portanto desenvolvida uma ex-tensão da Toolbox que permite a resolução de sistemas com qualquer número de equações. Esta extensão consiste em adaptações de algumas funções pré existentes na Toolbox, as-sim como na criação de novas funções para este problema em concreto.
Como vimos anteriormente, na função tausysnewton as funções devem ser escritas na forma 'y1',. . . ,'yk'. Numa das funções auxiliares da função tausysnewton é usada a função strfind do matlab que permite encontrar as ocorrências de 'yk' numa string. No entanto, quando procuramos'yi'em'yij'(com i, j ∈ {0, . . . , 9}) a funçãostrfind retorna um valor numérico em vez de[]causando problemas de implementação. Por este motivo a função tausysnewton apenas funciona corretamente quando existem apenas 9 ou menos variáveis.
>> strfind('y10+y1','y1') ans =
1 5
Para contornar este problema foi implementada uma nova função em matlab,v2strfind, que garante a correção deste problema.
Listing 4.1: Código da função v2strfind
function pos = v2strfind(expression, var) n=length(var);
pos=strfind(expression, var); for i=pos
if i+n>length(expression) continue;
elseif ismember(expression(i+n), '0123456789') pos(pos==i)=[];
else continue
end end end
Voltando ao exemplo anterior da função strfind, podemos ver que a funçãov2strfind faz uma procura exata da string var em expression.
>> v2strfind('y10+y1', 'y1') ans =
5
Outras funções auxiliares tiveram de ser atualizadas, no entanto grande parte dessas alterações é simplesmente a substituição da função strfind do Matlab. Além disso foram desenvolvidas outras funções auxiliares que permitem dadas as condições iniciais e o número de equações do sistema, passar o sistema correspondente do nosso problema para uma string.
Capítulo 5
Método tau no modelo para o DNA
Neste capítulo pretendemos estudar o sistema não linear que descreve a dinâmica da molécula de DNA, modificando as condições iniciais e estudando o comportamento das suas soluções aproximadas. Como estamos na presença de um sistema não linear, vamos primeiro proceder à sua linearização (usando o método Newton) e reduzir a sua ordem de forma a podermos usar a tau Toolbox.
Como vimos na secção 1.3, o modelo para o DNA desenvolvido por Michel Peyrard é descrito pelo sistema não linear:
d2Y k
dτ2 = S(Yk+1−2Yk+ Yk−1) + 2e
−Yk(e−Yk −1)
com k = 1, . . . , N, onde N representa o número de pares de bases que vamos considerar. Começamos por notar que no caso k = 1 e k = N não estão definidas as funções Y0 e
YN +1, respetivamente. Para efeitos práticos vamos considerar estas funções constantes e iguais a zero.
Como o sistema é não linear, o primeiro passo passa por lineariza-lo. Ora, tal como visto na secção 3.6, fixando a linha k, consideramos
F Yk−1, Yk, d dτYk, d2 dτ2Yk, Yk+1 ! = d2Yk dτ2 − S(Yk+1−2Yk+ Yk−1) − 2e −Yk(e−Yk−1). (5.1)
Para linearizar a equação usamos o processo iterativo de Newton dado por: N X j=1 νkj X i=0 ∂F ∂dτdiiYj ω(n−1) di dτiY (n) j = −F (ω (n−1)) + N X j=1 νkj X i=0 ∂F ∂dτdiiYj ω(n−1) di dτiY (n−1) j , n ∈ N (5.2) Ora, 39