320 likes | 551 Views
Linguagem Orientada a Matrizes COB 727. Maurício Cagy. Bibliografia. Hahn, B., Valentine, D., Essential Matlab for Engineers and Scientists, 4th Ed., Oxford: Academic Press, 2010. Gilat, A., Matlab: An Introduction with Applications, John Wiley & Sons, 2004.
E N D
Linguagem Orientada a MatrizesCOB 727 Maurício Cagy
Bibliografia • Hahn, B., Valentine, D., Essential Matlab for Engineers and Scientists, 4th Ed., Oxford: Academic Press, 2010. • Gilat, A., Matlab: An Introduction with Applications, John Wiley & Sons, 2004. • Cagy, M., Fundamentos de Matlab, apostila, 1997.
Linguagens Orientadas a Matrizes • SciLab; • Octave; • FreeMat; • JMathLib; • Matlab.
Álgebra de Escalares • Puramente Reais ou Complexos... • Propriedades: Produto / Divisão a0 = 0 a1 = a a(b+c) = ab+ac a(bc) = (ab)c ab = ba a/b= 1/b a Soma / Diferença a+0 = a a+(b+c) = (a+b)+c a+b = b+a a-b = a+(-b)
Álgebra Vetorial • “Ênuplas” Reais: (x1, x2, ..., xN) • Aplicação em geometria, cálculo vetorial... • Propriedades (ex. 3D): • u=(xu, yu, zu); • v=(xv, yv, zv); • 0=(0, 0, 0). Produto por Escalar au = (axu, ayu, azu); Produto Escalar uv = xuxv + yuyv + zuzv u0 = 0 uu = |u|2 (quadrado do módulo) uv = vu Soma / Diferença u+v = (xu+xv, yu+yv, zu+zv) u+0 = u u+(v+w) = (u+v)+w u+v = v+u -v = (-xv, -yv, -zv); u-v = u+(-v) Produto Vetorial u v Definido apenas em 3D
Álgebra Linear • Vetores: • Agrupamento de valores quaisquer (reais ou complexas); • Propriedades: • u=[u1, u2, u3]; v=[v1, v2, v3] s= (vetor-coluna) • w=[w1, w2, w3]; • 0=(0, 0, 0) (vetores-linha). Produto por Escalar au = (au1, au2, au3); Soma / Diferença u+v = [u1+v1, u2+v2, u3+v3] u+0 = u u+(v+w) = (u+v)+w u+v = v+u -v = [-v1, -v2, -v3]; u-v = u+(-v) ut = vetor-coluna (transposição) Produto uv = !! us =u1s1 + u2s2 + u3s3 0s = 0 uut= ||u||2(quadrado da norma) (u+v)s = us + vs
Álgebra Linear • Exemplo: • Cada cesta de maçãs tem 8 maçãs; cada saco delaranja tem 10 laranjas; cada caixa de mangastem 6 mangas... • Fulano tem 3 cestas de maçãs, 1 saco de laranjae 2 caixas de mangas: u = [3, 1, 2]; • Quantas frutas ele tem? • Beltrano tem 4 cestas de maçãs, 2 saco de laranjae 1 caixas de mangas: v = [4, 2, 1]; • Quantas frutas ele tem? • Agrupando as 2 operações...
Álgebra Linear • Exemplo das frutas e recipientes... Matriz Vetor-coluna Vetor-coluna 23 31 21 • Requisito de dimensões para o Produto Matricial: • [mp] [pn] = [mn]
Álgebra Linear • Se não conhecêssemos o vetor f... • Isto se traduz num sistema de equações: • Sistema INDETERMINADO
Álgebra Linear • Se soubéssemos que Sicrano tem 2 cestas de maçãs, 3 sacos de laranja e nenhuma caixa de mangas: w = [2, 3, 0], e, portanto, 46 frutas... • Que compõe um sistema de equações consistente, ou uma Equação Matricial: • A f = b • Analogamente a uma equação linear: a f = b f = b/a = a-1b • f = A-1 b, caso A seja inversível.
Produto Interno Produto Externo • u = [u1, u2, ... , un]; • s = • Produto Interno: us =u1s1 + u2s2 + ... + unsn (n=m!) • Produto Externo:
Exemplo: Transformada de Fourier como Produto Matricial... • Transformada Discreta de Fourier (DFT): , para k = 0, 1, ..., N-1 onde:
Os Coeficientes de um Polinômio como um Vetor... • Seja o polinômio: aNxN + aN-1xN-1 + ... + a0 • ele pode ser representado pelo vetor: a = [aN, aN-1, ..., a0] • Desafio: • Encontrar o polinômio de ordem N cujo gráfico passa por N+1 pontos conhecidos...
Outras Propriedades Sejam as matrizes A e B tais que as operações abaixo são viáveis: Transposição (At)t = A (A + B)t = At+ Bt (A - B)t = At - Bt (A B)t = Bt At Inversão (A-1)-1 = A (A B)-1 = B-1 A-1
Operadores Lineares Dada uma matriz quadrada A (nn), dizemos que ela é um operador linear se consideramos y = f(x) = Ax... Operadores lineares usuais: Projeção; Reflexão; Rotação. Exemplo - Operador Rotação em 2D:
Operadores Lineares Operador Rotação em 3D: Rotação em torno de um eixo u:
Rotação + Translação A Translação não é um Operador Linear! ft(x1+x2) = x1+x2+t ft(x1)+ ft(x2) = x1+t+x2+t Associação usual de rotação e translação: y = R x + t Álgebra homogênea: y = RT x
Mudança de Base Dados n vetores linearmente independentes de um espaço n-dimensional, qualquer ponto neste espaço pode ser representado por uma combinação linear destes n vetores. Para n = 3: t = au+bv+cw portanto, dizemos que u, v e w formam uma base () do espaço tridimensional, e a tríade [a, b, c]t representa as coordenadas do ponto t nesta base, e a = U-1t é o processo de mudança de base a partir da base canônica para a base .
Mudança de Base Ilustração no espaço bidimensional (bases ortonormais):
Autovalores e Autovetores Seja A uma matriz quadrada, diz-se que ela possui um ponto fixox se: Ax = x De maneira mais geral, define-se um autovalor de A, , como um escalar tal que: Ax = x situação em que o vetor x é chamado de autovetor de A associado a . Problema: Estabelecer os autovalores de uma matriz A; Estabelecer um autovetor não-nulo associado a cada autovalor .
Autovalores e Autovetores Seja A uma matriz nn; se Ax = x, então: como x é não-nulo, então det (I - A) = 0; det (I - A) = 0 é chamada equação característica de A. Exemplo:
Autovalores e Autovetores Para 1 = -1: Para 2 = 4
Autovalores e Autovetores Propriedades: Se não houver autovalor nulo, det(A) 0, logo A é inversível; O número de autovalores não-nulos (contabilizando as multiplicidades maiores que 1) é o posto de A; O conjunto de autovetores associados a todos autovalores não-nulos de A compõe o autoespaço de A; Caso A seja quadrada, seus autovetores são ortogonais.
Decomposição em Autovalores Considerando a matriz quadrada inversível A como um Operador Linear: y = Ax; se montarmos uma matriz P cujas colunas são autovetores de A: z = P-1x representa a mudança de base de x da base canônica para o autoespaço de A, de modo que: Az = Dz onde D é uma matriz diagonal com os autovalores ordenados de A...
Decomposição em Autovalores Assim: w = Dz =DP-1x representa a aplicação do operador A sobre a notação de x no autoespaço de A; Logo, para se obter y, basta voltar para a base canônica: y = Pw = PDP-1x. Ou seja: A = PDP-1 Que é a chamada Decomposição em Autovalores (EVD) de A.
Diagonalização Ortogonal Caso a matriz A seja simétrica: A = PDPt onde P é uma matriz ortonormal formada pelos autovetores de A, de modo que P-1=Pt. Diz-se que P diagonaliza ortogonalmente A.
Variância e Covariância • Para um sinal x[n] ergódico: onde E{...} refere-se à esperança matemática. Analogamente, a covariância entre 2 sinais x[n] e y[n] 0 é definida por:
Matriz de Covariância • Sejam k sinais ergódicos x1[n] a xk[n]: • Se os sinais são todos reais, C é uma matriz simétrica, que pode ser dada por: onde X é uma matriz (Nk) cujas colunas são os sinais subtraídos de suas respectivas médias.
Análise de Componentes Principais (PCA) • Sejam k sinais ergódicos x1[n] a xk[n] correlacionados entre si (não ortogonais): • sua matriz de covariância C não é diagonal. • Existe um conjunto de k outros sinais descorrelacionados entre si (ortogonais e de média nula), s1[n] a sk[n] (componentes principais), tais que: • Problema: achar A e S...
Análise de Componentes Principais (PCA) • Multiplicando-se ambos os lados por X: • mas os sinais si[n] são ortogonais por pressuposição, de modo que StS é uma matriz diagonal. Dividindo-se ambos os lados por N1, tem-se que: o que evidencia que A é a matriz que diagonaliza ortogonalmente C: • decomposição por auto-valores e auto-vetores de C.
Decomposição em Valores Singulares (SVD) Uma matriz A de tamanho m n (supondo m n, por simplicidade), com posto k, pode ser fatorada por: A = USVt S é uma matriz diagonal (m n) cujos elementos (si) são dados pela raiz quadrada dos autovalores de B=AtA (i, usualmente, ordenados de forma decrescente); note que B é uma matriz quadrada, simétrica e positiva semi-definida (seus autovalores são não-negativos); V é a matriz (n n) cujas colunas são os autovetores vi normalizados da matriz B=AtA; U é a matriz (m m) cujas k primeiras colunas são dadas por ui=Avi/i, e os demais são vetores que completam uma base ortonormal de m.
Decomposição em Valores Singulares Reduzida Devido às porções nulas da matriz S, a SVD pode ser reduzida por: A = U1S1V1t S é uma matriz diagonal (k k); V tem tamanho (k n); U tem tamanho (m k).