Alglin01

A linguagem Julia

  1. Você pode instalar a linguagem JULIA pelo site
  2. Ou experimentar online no juliabox
  3. A documentação pode ser vista em manual de Julia
  4. ou um texto introdutório introducing Julia

O algoritmo de Crout para decomposição LU

O primeiro teste com a linguagem Julia será implementar o método de Crout para a decomposição $LU$ de um matriz A.

A idéia do algoritmo é que podemos calcular em cada passo uma linha da matriz triangular superior $U$ e uma coluna da matriz triangular inferior $L$, ou seja no $k$-ésimo passo calculamos $u_{kj}$ para todo $j\geq k$ e $l_{jk}$ para $j>k$ baseado na fórmula de multiplicação

\( a_{ij} = \sum_{k=1}^{n} l_{ik}u_{kj}\) e que $l_{ij}= 0$ se $j>i$ e $u_{ij}=0$ se $j<i$ uma descrição do algoritmo é assim:

for i in 1:N
    for k in i:N 
        u[i,k]=a[i,k]- sum(l[i,j]r[j,k] for j in 1:i-1)
    end
    for k in i+1:N 
        l[k,i] = 1/u[i,i](a[k,i]-sum(l[k,j]u[j,i] for j in 1:i-1))
    end
                end

Escreva a função crout(A) que recebe uma matriz quadrada $A$ e dá a decomposição lu implementando este algoritmo.

In [17]:
function  crout(A)
    # a funçao
    return L,U
    end
Out[17]:
crout (generic function with 1 method)

O algoritmo de Cholesky

for k in 1:N 
    l[k,k] = (a[k,k] - sqrt(sum(l[k,j]^2 for j in 1:k-1))
    for i = k+1:N
    l[i,k]=(a[i,k]- sum(l[i,k]l[k,j] for j in  1:k-1))/l[k,k]
    end
        end
Última atualização: sexta-feira, 1 mar. 2019, 17:24