7.1 Matrizes
Uma matriz é um arranjo de n×m escalares, onde n é o número de linhas e m é o número de colunas.
No exemplo a seguir, A é uma matriz de tamanho 3×4, isto é, é uma matriz de 3 linhas e 4 colunas:
A=[−.19−2.210.24−.14−20.25.21−8.1−6.242.20]. Cada elemento de A é denotado por aij, onde i é a linha, e j é a coluna do elemento da matriz:
A=[a11a12a13…a1ma21a22a23…a2m⋮⋮⋮⋱⋮an1an2an3…anm].
Matriz transposta
A transposta de uma matriz A de tamanho n×m, denotada por AT, é uma matriz de tamanho m×n obtida trocando as linhas pelas colunas.
Por exemplo, se
A=[123456],
então
AT=[142536].
A transposta da transposta é a matriz original, isto é,
(AT)T=A.
Matriz quadrada
Uma matriz quadrada é uma matriz na qual o número de linhas é igual ao número de colunas (n=m).
Se A é uma matriz quadrada de n linhas e colunas, dizemos que A é uma matriz de ordem n.
Por exemplo,
A=[514702339]
é uma matriz de ordem 3.
Matriz linha/coluna
Uma tupla de n elementos pode ser representada por uma matriz 1×n (matriz linha) ou n×1 (matriz coluna).
Para matrizes linha e matrizes coluna, usaremos a notação de letra minúscula em negrito (a,b,…), como na notação de vetor.
Para trabalharmos com transformações matriciais, usaremos matrizes coluna para escrever a representação de vetores em uma base conhecida.
Por exemplo, a representação de um vetor no R3 pode ser escrita pela matriz de componentes
v=[xyz] sendo que
v=xˆi+yˆj+zˆk.
Matriz identidade
A matriz identidade, denotada por I, é uma matriz quadrada na qual todos os elementos de uma das diagonais – elementos aij em que i=j, chamada de diagonal principal – são 1, e todos os outros elementos são 0.
I=[100…0010…0⋮⋮⋮⋱⋮000…1].
Por exemplo, a matriz identidade de ordem 3 é a matriz
I=[100010001]. A matriz identidade é o elemento neutro da multiplicação entre matrizes:
AI=IA=A.
Operações
Há três operações básicas com matrizes:
Adição de matriz com matriz:
A+B
tem como resultado uma matriz que contém a soma elemento a elemento de A e B, sendo que A e B precisam ter o mesmo tamanho.
Por exemplo, se
A=[−1−2−3−4−5−6],B=[−1−3−6−0−5−2],
então
A+B=[−0−5−9−410−8].
Essa operação é comutativa e associativa:
A+B=B+A,A+(B+C)=(A+B)+C.
Multiplicação de escalar com matriz:
aA
tem como resultado uma matriz na qual cada elemento da matriz A é multiplicado pelo escalar a.
Por exemplo, se
A=[123456],
então
2A=[24681012].
Essa operação é distributiva e associativa:
a(A+B)=aA+aB,(a+b)A=aA+bA,a(bA)=(ab)A,abA=baA.
Multiplicação de matriz com matriz:
AB ou
A.B
é definida apenas quando o número de colunas de A é igual ao número de linhas de B.
Se A é uma matriz n×l, e B é uma matriz l×m, então C=AB é uma matriz de tamanho n×m tal que
cij=l∑k=1aikbkj. Desse modo, o elemento cij (elemento da i-ésima linha e j-ésima coluna de C) será o somatório da multiplicação elemento a elemento da i-ésima linha de A com a j-ésima coluna de B.
Por exemplo, se
A=[123456],B=[−10−3562],
então
C=AB=[123456][−10−3562]=[(1×−1)+(2×−3)+(3×6)(1×0)+(2×5)+(3×2)(4×−1)+(5×−3)+(6×6)(4×0)+(5×5)+(6×2)]=[11161737].
Embora a multiplicação entre matrizes seja associativa,
A(BC)=(AB)C, na maioria das vezes não é comutativa, isto é,
AB≠BA.
Os casos em que AB=BA são casos especiais como, por exemplo, quando AB=I (veja definição de matriz inversa a seguir), ou quando a matriz é multiplicada pela identidade.
Se a e b são representações de vetores
a=[a1a2⋮an],b=[b1b2⋮bn],
a multiplicação da transposta de a por b tem como resultado o produto escalar entre os vetores:
aTb=[a1a2…an][b1b2⋮an]=a1b1+a2b2+⋯+anbn=a⋅b.
Da mesma forma, podemos definir a norma euclidiana de a como
|a|=√aTa.
Matriz inversa
Se, para uma dada matriz quadrada A, existir uma matriz B tal que AB=BA=I, então B é a inversa de A, denotada por A−1:
AA−1=A−1A=I. A inversa da inversa é a matriz original, isto é,
(A−1)−1=A.
Se uma matriz possui uma inversa, dizemos que a matriz é inversível ou não singular. Caso contrário, dizemos que a matriz é singular.
Uma matriz A é inversível apenas se seu determinante, denotado por |A| ou det for diferente de zero.
O determinante de uma matriz de ordem n pode ser definido recursivamente como uma soma ponderada de n determinantes de submatrizes de ordem n-1 (teorema de Laplace):
|\mathbf{A}|=\sum^n_{i=1}(-1)^{i+j}a_{ij}M_{ij},
onde M_{ij}, chamado de determinante menor de \mathbf{A}, é o determinante da matriz de ordem n-1 obtida através da remoção da linha i e coluna j de \mathbf{A}. Nessa expressão, (-1)^{i+j}M_{ij} é chamado de cofator do elemento a_{ij} e é denotado por C_{ij}. Para matrizes de ordem 2 e 3, o procedimento é suficientemente simples e é mostrado a seguir:
Para uma matriz de ordem 2,
\mathbf{A} = \begin{bmatrix} a & b \\ c & d \end{bmatrix},
\begin{align} |\mathbf{A}| &= \begin{vmatrix} a & b \\ c & d \end{vmatrix}\\ &= ad - bc. \end{align}
Para uma matriz de ordem 3,
\begin{align} \mathbf{A} = \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix}, \end{align} \begin{align} |\mathbf{A}| &= \begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix}\\ &= a \begin{vmatrix} e & f \\ h & i \end{vmatrix} -b \begin{vmatrix} d & f \\ g & i \end{vmatrix} +c \begin{vmatrix} d & e \\ g & h \end{vmatrix}\\ &= aei + bfg + cdh - ceg -bdi - afh. \end{align}
A complexidade de tempo para calcular o determinante por este método é O(n!). Isso só é rápido para matrizes de ordem até 5. Há soluções mais eficientes para matrizes de ordem mais elevada, como o uso de decomposição LU ou eliminação de Gauss, com complexidade O(n^3). Entretanto, como usaremos matrizes de ordem até 4, o método anterior é suficiente.
A matriz inversa de uma matriz \mathbf{A} inversível pode ser calculada como
\mathbf{A}^{-1}=\frac{1}{|\mathbf{A}|} . \textrm{adj}(\mathbf{A}),
onde \textrm{adj}(\mathbf{A}), chamada de matriz adjunta de \mathbf{A}, é a transposta da matriz de cofatores de \mathbf{A}. Isto é,
\textrm{adj}(\mathbf{A})= \begin{bmatrix} C_{ij} \end{bmatrix}^T.
Em computação gráfica, frequentemente podemos evitar o uso de métodos numéricos de inversão de matrizes pois muitas matrizes representam transformações inversíveis através de um raciocínio geométrico. Por exemplo:
- Se uma matriz representa uma rotação de 45 graus em torno do eixo x, então sua inversa é uma matriz que representa uma rotação de -45 graus em torno do eixo x;
- Se uma matriz representa uma translação pelo vetor (x,y,z), então sua inversa é uma matriz que representa uma translação pelo vetor (-x,-y,-z).
- Se uma matriz representa uma mudança de escala por um fator s \neq 0, então sua inversa é uma matriz de mudança de escala por um fator 1/s.
Abordaremos essas e outras matrizes de transformação na seção 7.4.
Matriz ortogonal
Uma matriz \mathbf{A} é ortogonal se
\mathbf{A}\mathbf{A}^T=\mathbf{A}^T\mathbf{A}=\mathbf{I},
isto é, sua transposta é também a sua inversa:
\mathbf{A}^T=\mathbf{A}^{-1}.
As linhas e colunas de uma matriz ortogonal formam uma base ortonormal.
Por exemplo, as matrizes
\begin{align} \mathbf{A} &= \begin{bmatrix} \hat{\mathbf{i}} & \phantom{-}\hat{\mathbf{j}} & \phantom{-}\hat{\mathbf{k}} \\ \end{bmatrix},\\ \mathbf{B} &= \begin{bmatrix} \hat{\mathbf{i}} & -\hat{\mathbf{j}} & \phantom{-}\hat{\mathbf{k}} \\ \end{bmatrix},\\ \mathbf{C} &= \begin{bmatrix} \hat{\mathbf{k}} & \phantom{k}\hat{\mathbf{i}} & \phantom{-.}\hat{\mathbf{j}} \\ \end{bmatrix}, \end{align}
com colunas formadas pelos seguintes vetores da base padrão do \mathbb{R}^3,
\begin{align} \hat{\mathbf{i}} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix},\qquad \hat{\mathbf{j}} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix},\qquad \hat{\mathbf{k}} = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}, \end{align}
são matrizes ortogonais.
o determinante de uma matriz ortogonal é sempre 1 ou -1.
Propriedades
As seguintes propriedades se aplicam:
(\mathbf{A}+\mathbf{B})^T=\mathbf{A}^T + \mathbf{B}^T.
(\mathbf{A}^T)^{-1}=(\mathbf{A}^{-1})^T.
(\mathbf{A}\mathbf{B})^T=\mathbf{B}^T\mathbf{A}^T.
Observe como a ordem dos fatores é trocada. No caso geral,
(\mathbf{A}_1\mathbf{A}_2\dots\mathbf{A}_k)^T=\mathbf{A}_k^T\dots\mathbf{A}_2^T\mathbf{A}_1^T.
(\mathbf{A}\mathbf{B})^{-1}=\mathbf{B}^{-1}\mathbf{A}^{-1}.
No caso geral, para um conjunto \{\mathbf{A}_i\} de matrizes inversíveis,
(\mathbf{A}_1\mathbf{A}_2\dots\mathbf{A}_k)^{-1}=\mathbf{A}_k^{-1}\dots\mathbf{A}_2^{-1}\mathbf{A}_1^{-1}.
Transformação
Seja \mathbf{v} uma matriz coluna que representa um vetor no \mathbb{R}^n. A transformação T(\mathbf{v}), que transforma \mathbf{v} em uma nova representação \mathbf{v}', pode ser escrita como
\mathbf{v}'=\mathbf{A}\mathbf{v},
onde \mathbf{A} é uma matriz quadrada de ordem n chamada de matriz de transformação.
Toda matriz de transformação de ordem n representa uma transformação linear em \mathbb{R}^n.
Uma transformação linear é um mapeamento entre dois espaços vetoriais de tal modo que as operações de adição de vetor com vetor e multiplicação de vetor com escalar são preservadas, isto é,
T(a\mathbf{u}+b\mathbf{v})=aT(\mathbf{u})+bT(\mathbf{v})
para quaisquer vetores \mathbf{u}, \mathbf{v} \in V, e quaisquer escalares a e b. Como resultado, a transformação do vetor representado por \mathbf{v} é equivalente à combinação linear da transformação da base do vetor:
\mathbf{v}'=T(\mathbf{v})=v_1T(\mathbf{e}_1) + v_2T(\mathbf{e}_2) + \cdots + v_nT(\mathbf{e}_n).
Se \mathbf{v} \in \mathbb{R}^3, temos
\mathbf{v}'=T(\mathbf{v})=xT(\hat{\mathbf{i}}) + yT(\hat{\mathbf{j}}) + zT(\hat{\mathbf{k}}).
Essa expressão pode ser representada na forma matricial:
\mathbf{v}'=\mathbf{A}\mathbf{v}\\ \begin{bmatrix}x'\\y'\\z'\end{bmatrix}= \begin{bmatrix} T(\hat{\mathbf{i}}) & T(\hat{\mathbf{j}}) & T(\hat{\mathbf{k}}) \end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix}.
Logo, a matriz que transforma
para
é uma matriz de mudança de base, e é construída fazendo com que suas colunas sejam os vetores da base transformada.
O vídeo a seguir, do canal 3Blue1Brown do Youtube, apresenta de forma visual o conceito de transformação linear e sua relação com a operação matricial. O áudio está em inglês, mas há legendas em português.
Este vídeo faz parte de uma excelente série de vídeos sobre fundamentos de álgebra linear. O conteúdo permite compreender de forma intuitiva os principais conceitos vistos até agora. A maioria dos vídeos possui legendas em português.
Além de transformações lineares, matrizes podem representar também outras transformações, tais como:
- Transformação afim: para a translação de pontos;
- Transformação projetiva: para projeção perspectiva.
Essas transformações podem ser representadas por transformações lineares em um espaço de dimensão adicional. Por exemplo, uma transformação afim no \mathbb{R}^3 pode ser representada por uma matriz de transformação linear no \mathbb{R}^4. Veremos como fazer isso na seção 7.2.