TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Operações Sobre Matrizes

Por:   •  7/12/2019  •  Trabalho acadêmico  •  522 Palavras (3 Páginas)  •  230 Visualizações

Página 1 de 3

from numpy import*

def traco(A):

tam = len(A)

soma = 0

for i in range(tam):

soma+=A[i][i]

return soma

def transposta(A):

tam = len(A)

for i in range(tam):

for j in range(i+1,tam):

if(j != i):

aux = A[i][j]

A[i][j] = A[j][i]

A[j][i] = aux

return A

#polinomio caracteristico

def LeverrierFaddeev(A):

tam = len(A)

B = array(A)

S = zeros(((tam-1,tam,tam)))

Q = zeros(tam+1)

Q[0] = 1

Q[1] = -traco(B)

for i in range(2,tam+1):

S[i-2] = B + Q[i-1] * identity(tam)

B = dot(A, B + Q[i-1]*identity(tam))

Q[i] = -traco(B/i)

return Q[::-1], S #retorna os coeficientes do polinomio e todas as matrizes B

#se quiser so pegar o polinomio faca LeverrierFaddeev(A)[0]

def matrizOrtogonal(A,i,j):

U = identity(len(A))

U[i][i] = A[0][0]/(sqrt(A[0][0]**2 + A[i][j]**2))

U[j][j] = U[i][i]

U[j][i] = A[i][j]/(sqrt(A[0][0]**2 + A[i][j]**2))

U[i][j] = -U[j][i]

return U

def maiorElemento(A):

for i in range(1,len(A)):

for j in range(i):

if abs(A[i][j]) > 0.0001:

return 1

return 0

#autovalores

def QR(A):

cont = 0

tam = len(A)

while maiorElemento(A) and cont<1000:

Q = identity(tam)

for i in range(1,tam):

for j in range(i):

if A[i][j]!=0:

...

Baixar como (para membros premium)  txt (1.7 Kb)   pdf (24.2 Kb)   docx (7.8 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com