Matrizes elementares, fatoração LU, fatiamento com NUmPy e método de eliminção, de Gauss com programação vetorial. Aplicação à propagação de calor numa barra e numa placa. Fatoração LU de matrizes tridiagonais por blocos.
uma linha por um número real Trocar duas linhas de posição E elas permitiram transformar o sistema original A x = b num sistema triangular superior U x = β, com a mesma solução x.
= 2 ∙ 3 ∙ 5, 21 = 3 ∙ 7, 4 = 2 ∙ 2 Veremos que é possível decompor uma matriz A num produto = , onde: • P é uma matriz de permutações (p/. trocas de linhas) • L é uma matriz triangular inferior (L de lower) • U é uma matriz triangular superior (U de upper)
e j da identidade I Observem que ↔ é uma matriz simétrica, isto é ↔ = ⟷ . É fácil observar que o produto ↔ é a matriz A com suas linhas i e j trocadas. O programa a seguir mostrar isto.
0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 Neste exemplo, mostro a identidade I com as linhas 1 e 2 e as 3 e 5 trocadas. Aliás, se P é uma matriz obtida da identidade I através de permutações de linhas, então o produto P A é a matriz A com as mesmas linhas trocadas.
matrizes ortogonais? É verdade, Mestre! No seu exemplo, as colunas de PQ são a base canônica de ℝ5 fora de ordem. = 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0
uma matriz de permutações então = −1. E como elas são simétricas temos −1 = = . Aliás isto é totalmente intuitivo: a inversa −1 destroca as linhas da identidade I que foram trocadas por P.
zerar os elementos abaixo do pivot na 1ª coluna. Isto foi realizado da seguinte forma: Linha 1 Linha 1 Linha 2 Linha 2 Linha 1 21 /11 × − Linha 3 Linha 3 Linha 1 31 /11 × − Linha n Linha n Linha 1 1 /11 × − Multiplicadores
coluna k da matriz A, abaixo do pivot. Num golpe só. A 2ª aplica as operações elementares nos elementos do vetor b, após a posição correspondente ao pivot. Também num golpe só.
1ª de f Da fórmula , obtemos a fórmula abaixo. Avç. Nela, passe f (x) para o 1º membro e divida por -h . Assumindo que f ” é limitada, obtemos a expressão mostrada pela Professora. O algebrismo é o seguinte:
f (x) para o 1º membro e divida por -h . Assumindo que f ” é limitada, obtemos a expressão mostrada pela Professora. O algebrismo é o seguinte: Esta é a aproximação por diferença atrasada para a derivada 1ª de f
3ª é limitada, obtemos a expressão mostrada pelo Professor. Diferença A aproximação por diferença centrada para a derivada 1ª de f. Ela é obtida assim:
e divida tudo por h 2 . Assumindo que a derivada 4ª é limitada, obtemos a expressão mostrada pelo Professor. Soma A aproximação por diferença centrada para a derivada 2ª de f. Ela é obtida assim:
transferência de energia térmica de uma região onde a temperatura é maior para uma região onde ela é menor. Condução de calor Como modelar a propagação do calor?
a Lei de Fourier fica: , = − (, ) Nessa fórmula: • k é o coeficiente de difusividade térmica, • ρ é a densidade do material, • C é a capacidade calorífica do material. T alta (, ) T baixa
∙ é o fluxo de calor entrando • ∙ + ∆ é o fluxo de calor saindo • O calor acumulado nesse volume elementar, na ausência de fontes ou sumidouros, é proporcional a ∆ ∙ ∆ T alta T baixa (, ) ( + ∆, ) ∆
, = , t > 0 Uma condição inicial: • , 0 = , ∈ [0. ] = 2 2 , (, ) ∈ 0, × (0, ∞) x = 0 x = L O problema de evolução da temperatura T (x, t) numa barra Um problema de valor inicial e de contorno.
10 ºC T = 20 ºC Surfista, imagine uma placa de metal, quadrada, cujas bordas são mantidas às temperaturas indicadas. Como será a distribuição de temperatura no interior da placa em estado estacionário?
100 ºC T = 200 ºC 2 2 + 2 2 = 0 no interior da placa Mais as condições no contorno Se não há variação de temperatura então = 0 e as equações que modelam o fenômeno físico são:
de uma malha uniforme envolvendo n subintervalos na direção x e outros m subintervalos na direção y. No exemplo = = 4. 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j
parciais por diferenças finitas. 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j O valor da temperatura T nos pontos da borda da placa (em amarelo, azul e verde) é conhecido.
temperatura T em pontos internos da malha obedece o esquema em cruz indicado abaixo para o ponto 3. 2 3 2 ≃ − 23 + 6 ℎ2 2 3 2 ≃ 2 − 23 + ℎ2 1 4 3 5 6 7 8 9 2 a b c i h g d e f l k j
pacote scipy.linalg. Como a matriz desse sistema linear, com sinal trocado, é semi-definida- positiva e de banda, poderemos utilizar cholesky_ banded( ) e cho_solve_banded( ).
na horizontal por outros 50 pontos internos na vertical. Ao todo teremos 2.500 pontos internos e, consequentemente, um sistema linear de 2.500 equações à 2.500 incógnitas! Impressionante Mestra! Mas continuará sendo um sistema penta- diagonal. A única diferença é que a 2ª sobre diagonal iniciará na coluna 51 e a 2ª sub diagonal na linha 51.
métodos apropriados para resolver o sistema linear são os métodos iterativos. Mais adiante, no curso, estudaremos métodos iterativos para resolução de sistemas lineares. Mas agora, neste Carnaval não, vou sair no meu bloco em Ipanema.
0 ⋯ −1 −1 = 2 ⋯ ⋮ ⋱ ⋮ ⋯ 1 1 2 ⋯ ⋮ ⋱ ⋮ ⋯ −1 = Entrando nessa folia. Vou apresentar uma fatoração T = L U por blocos para uma matriz tridiagonal por blocos T.
matriz bi-didiagonal inferior por blocos L com I’s na diagonal e a matriz triangular superior bi-diagonal U. • Passo 1: Defina 1 = 1 • Passo 2: Para = 2, ⋯ , : • 2.1: Calcule resolvendo os sistemas −1 = . • 2.1: Calcule efetuando = − −1 . • Fim O algoritmo para efetuar a fatoração LU por blocos de T é o seguinte:
para calcular a solução x de = , iremos calcular a solução de = . Eu lembro, Mestra: Substituindo T por LU no sistema, ficamos com = . Então resolvemos = e, em seguida = . Mas agora com blocos!
e o vetor por blocos = [ ]. Output: O vetor por blocos = [ ], solução dos sistemas lineares = . • Passo 1: Resolva 1 0 = 0. • Passo 2: Para = 1, ⋯ , repita: • = − −1 . • Fim O algoritmo para efetuar a substituição na ordem direta é o seguinte:
e o vetor por blocos = [ ], obtido da substituição direta. Output: O vetor por blocos = [ ], solução dos sistemas lineares = . • Passo 1: Resolva +1 = 0. • Passo 2: Para = , ⋯ , 1 repita: • = − +1 . • Fim O algoritmo para efetuar a retro-substituição é o seguinte: