7.1 Matrizes
Uma matriz é um arranjo de \(n \times m\) escalares, onde \(n\) é o número de linhas e \(m\) é o número de colunas.
No exemplo a seguir, \(\mathbf{A}\) é uma matriz de tamanho \(3 \times 4\), isto é, é uma matriz de 3 linhas e 4 colunas:
\[ \mathbf{A}= \begin{bmatrix} \phantom{-.1}9 & \phantom{-}2 & \phantom{.2} 10 & \phantom{.2} 4 \\ \phantom{-.1}4 & -2 & 0.25 & \phantom{.2} 1 \\ -8.1 & \phantom{-}6 & \phantom{.2} 42 & \phantom{.2} 0 \\ \end{bmatrix}. \] Cada elemento de \(\mathbf{A}\) é denotado por \(a_{ij}\), onde \(i\) é a linha, e \(j\) é a coluna do elemento da matriz:
\[ \mathbf{A}= \begin{bmatrix} a_{11} & a_{12} & a_{13} & \dots & a_{1m} \\ a_{21} & a_{22} & a_{23} & \dots & a_{2m} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & a_{n3} & \dots & a_{nm} \end{bmatrix}. \]
Matriz transposta
A transposta de uma matriz \(\mathbf{A}\) de tamanho \(n \times m\), denotada por \(\mathbf{A}^T\), é uma matriz de tamanho \(m \times n\) obtida trocando as linhas pelas colunas.
Por exemplo, se
\[ \mathbf{A} = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{bmatrix}, \]
então
\[ \mathbf{A}^T = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix}. \]
A transposta da transposta é a matriz original, isto é,
\[{(\mathbf{A}^T)}^T = \mathbf{A}.\]
Matriz quadrada
Uma matriz quadrada é uma matriz na qual o número de linhas é igual ao número de colunas (\(n=m\)).
Se \(\mathbf{A}\) é uma matriz quadrada de \(n\) linhas e colunas, dizemos que \(\mathbf{A}\) é uma matriz de ordem \(n\).
Por exemplo,
\[ \mathbf{A}= \begin{bmatrix} 5 & 1 & 4 \\ 7 & 0 & 2 \\ 3 & 3 & 9 \\ \end{bmatrix} \]
é uma matriz de ordem 3.
Matriz linha/coluna
Uma tupla de \(n\) elementos pode ser representada por uma matriz \(1 \times n\) (matriz linha) ou \(n \times 1\) (matriz coluna).
Para matrizes linha e matrizes coluna, usaremos a notação de letra minúscula em negrito \((\mathbf{a}, \mathbf{b}, \dots)\), 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 \(\mathbb{R}^3\) pode ser escrita pela matriz de componentes
\[ \mathbf{v} = \begin{bmatrix} x \\ y \\ z \end{bmatrix} \] sendo que
\[\mathbf{v}=x\hat{\mathbf{i}} + y\hat{\mathbf{j}} + z\hat{\mathbf{k}}.\]
Matriz identidade
A matriz identidade, denotada por \(\mathbf{I}\), é uma matriz quadrada na qual todos os elementos de uma das diagonais – elementos \(a_{ij}\) em que \(i=j\), chamada de diagonal principal – são \(1\), e todos os outros elementos são \(0\).
\[ \mathbf{I}= \begin{bmatrix} 1 & 0 & 0 & \dots & 0 \\ 0 & 1 & 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \dots & 1 \end{bmatrix}. \]
Por exemplo, a matriz identidade de ordem 3 é a matriz
\[ \mathbf{I}= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}. \] A matriz identidade é o elemento neutro da multiplicação entre matrizes:
\[ \mathbf{A}\mathbf{I} = \mathbf{I}\mathbf{A} = \mathbf{A}. \]
Operações
Há três operações básicas com matrizes:
Adição de matriz com matriz:
\[\mathbf{A} + \mathbf{B}\]
tem como resultado uma matriz que contém a soma elemento a elemento de \(\mathbf{A}\) e \(\mathbf{B}\), sendo que \(\mathbf{A}\) e \(\mathbf{B}\) precisam ter o mesmo tamanho.
Por exemplo, se
\[ \begin{align} \mathbf{A} &= \begin{bmatrix} \phantom{-}1 & -2 & \phantom{-}3 \\ -4 & \phantom{-}5 & \phantom{-}6 \\ \end{bmatrix},\\ \mathbf{B} &= \begin{bmatrix} -1 & -3 & \phantom{-}6 \\ \phantom{-}0 & \phantom{-}5 & \phantom{-}2 \\ \end{bmatrix}, \end{align} \]
então
\[ \mathbf{A}+\mathbf{B} = \begin{bmatrix} \phantom{-}0 & -5 & \phantom{-}9 \\ -4 & 10 & \phantom{-}8 \\ \end{bmatrix}. \]
Essa operação é comutativa e associativa:
\[ \begin{align} \mathbf{A}+\mathbf{B} &= \mathbf{B}+\mathbf{A},\\ \mathbf{A}+(\mathbf{B}+\mathbf{C}) &= (\mathbf{A}+\mathbf{B})+\mathbf{C}. \end{align} \]
Multiplicação de escalar com matriz:
\[a\mathbf{A}\]
tem como resultado uma matriz na qual cada elemento da matriz \(\mathbf{A}\) é multiplicado pelo escalar \(a\).
Por exemplo, se
\[ \mathbf{A} = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{bmatrix}, \]
então
\[ 2\mathbf{A} = \begin{bmatrix} 2 & 4 & 6 \\ 8 & 10 & 12 \\ \end{bmatrix}. \]
Essa operação é distributiva e associativa:
\[ \begin{align} a(\mathbf{A}+\mathbf{B}) &= a\mathbf{A}+a\mathbf{B},\\ (a+b)\mathbf{A} &= a\mathbf{A}+b\mathbf{A},\\ a(b\mathbf{A}) &= (ab)\mathbf{A},\\ ab\mathbf{A} &= ba\mathbf{A}. \end{align} \]
Multiplicação de matriz com matriz:
\[\mathbf{A}\mathbf{B}\] ou
\[\mathbf{A}\,.\mathbf{B}\]
é definida apenas quando o número de colunas de \(\mathbf{A}\) é igual ao número de linhas de \(\mathbf{B}\).
Se \(\mathbf{A}\) é uma matriz \(n \times l\), e \(\mathbf{B}\) é uma matriz \(l \times m\), então \(\mathbf{C} = \mathbf{A}\mathbf{B}\) é uma matriz de tamanho \(n \times m\) tal que
\[ c_{ij}=\sum_{k=1}^l a_{ik}b_{kj}. \] Desse modo, o elemento \(c_{ij}\) (elemento da \(i\)-ésima linha e \(j\)-ésima coluna de \(\mathbf{C}\)) será o somatório da multiplicação elemento a elemento da \(i\)-ésima linha de \(\mathbf{A}\) com a \(j\)-ésima coluna de \(\mathbf{B}\).
Por exemplo, se
\[ \begin{align} \mathbf{A} &= \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix},\\ \mathbf{B} &= \left[ \begin{array}{rr} -1 & 0 \\ -3 & 5 \\ 6 & 2 \end{array} \right], \end{align} \]
então
\[ \begin{align} \mathbf{C} &=\mathbf{A}\mathbf{B} \\ &= \left[ \begin{array}{rrr} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{array} \right] \left[ \begin{array}{rr} -1 & 0 \\ -3 & 5 \\ 6 & 2 \end{array} \right]\\ &= \left[ \begin{array}{rr} (1 \times -1)+(2 \times -3)+(3 \times 6) & (1 \times 0)+(2 \times 5)+(3 \times 2) \\ (4 \times -1)+(5 \times -3)+(6 \times 6) & (4 \times 0)+(5 \times 5)+(6 \times 2) \end{array} \right]\\ &= \left[ \begin{array}{rr} 11 & 16 \\ 17 & 37 \end{array} \right]. \end{align} \]
Embora a multiplicação entre matrizes seja associativa,
\[ \mathbf{A}(\mathbf{B}\mathbf{C}) = (\mathbf{A}\mathbf{B})\mathbf{C}, \] na maioria das vezes não é comutativa, isto é,
\[ \mathbf{A}\mathbf{B} \neq \mathbf{B}\mathbf{A}. \]
Os casos em que \(\mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A}\) são casos especiais como, por exemplo, quando \(\mathbf{A}\mathbf{B} = \mathbf{I}\) (veja a definição de matriz inversa a seguir).
Se \(\mathbf{a}\) e \(\mathbf{b}\) são representações de vetores
\[ \begin{align} \mathbf{a} = \left[ \begin{array}{} a_1 \\ a_2 \\ \vdots \\ a_n \end{array} \right],\qquad \mathbf{b} = \left[ \begin{array}{} b_1 \\ b_2 \\ \vdots \\ b_n \end{array} \right], \end{align} \]
a multiplicação da transposta de \(\mathbf{a}\) por \(\mathbf{b}\) tem como resultado o produto escalar entre os vetores:
\[ \begin{align} \mathbf{a}^T\mathbf{b} &= \left[ \begin{array}{} a_1 & a_2 & \dots & a_n \end{array} \right] \left[ \begin{array}{} b_1 \\ b_2 \\ \vdots \\ a_n \end{array} \right]\\ &= a_1b_1 + a_2b_2 + \dots + a_nb_n\\ &= \mathbf{a} \cdot \mathbf{b}. \end{align} \]
Da mesma forma, podemos definir a norma euclidiana de \(\mathbf{a}\) como
\[ \begin{align} |\mathbf{a}| &= \sqrt{\mathbf{a}^T \mathbf{a}} \end{align}. \]
Matriz inversa
Se, para uma dada matriz quadrada \(\mathbf{A}\), existir uma matriz \(\mathbf{B}\) tal que \(\mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A} = \mathbf{I}\), então \(\mathbf{B}\) é a inversa de \(\mathbf{A}\), denotada por \(\mathbf{A}^{-1}\):
\[ \mathbf{A}\mathbf{A}^{-1} = \mathbf{A}^{-1}\mathbf{A} = \mathbf{I}. \] A inversa da inversa é a matriz original, isto é,
\[{(\mathbf{A}^{-1})}^{-1} = \mathbf{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 \(\mathbf{A}\) é inversível apenas se seu determinante, denotado por \(|\mathbf{A}|\) ou \(\det(\mathbf{A}),\) 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_{j=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}\), sendo que \(i\) pode ser o índice de qualquer linha da matriz. 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!)\). 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 do quadro 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
\((\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 é invertida. 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 linear
Uma transformação linear \(T\) corresponde a um mapeamento entre dois espaços vetoriais que preserva as operações de adição de vetor com vetor, e multiplicação de vetor com escalar, 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\).
A transformação linear \(T(\mathbf{v})\) é equivalente à combinação linear da transformação dos vetores da base de \(\mathbf{v}\):
\[T(\mathbf{v})=v_1T(\mathbf{e}_1) + v_2T(\mathbf{e}_2) + \cdots + v_nT(\mathbf{e}_n).\]
Uma matriz de transformação representa uma transformação linear \(T\) escrita como uma multiplicação entre uma matriz \(\mathbf{A}\) e um vetor \(\mathbf{v}\):
\[T(\mathbf{v})=\mathbf{A}\mathbf{v}.\]
Mudança de base
Na transformação \(T(\mathbf{v})=\mathbf{A}\mathbf{v}\), a matriz de transformação linear \(\mathbf{A}\) representa uma mudança de base se a matriz for inversível.
Suponha que \(\beta_1=\{\mathbf{u}_1, \mathbf{v}_1, \mathbf{w}_1\}\), e \(\beta_2=\{\mathbf{u}_2, \mathbf{v}_2, \mathbf{w}_2\}\) sejam duas bases do \(\mathbb{R}^3\) (sem perder a generalidade para outras dimensões). Além disso, suponha que \(\mathbf{v}_{\beta_1}=[x_1\quad y_1\quad z_1]^T\) é a representação de um vetor \(\mathbf{v}\) em relação a \(\beta_1\), e \(\mathbf{v}_{\beta_2}=[x_2\quad y_2\quad z_2]^T\) é a representação do mesmo vetor \(\mathbf{v}\), mas em relação à base \(\beta_2\). Como \(\mathbf{v}_{\beta_1}\) e \(\mathbf{v}_{\beta_2}\) correspondem ao mesmo vetor \(\mathbf{v}\) na base padrão, podemos escrever:
\[ x_1 \mathbf{u}_1 + y_1 \mathbf{v}_1 + z_1 \mathbf{w}_1 = x_2 \mathbf{u}_2 + y_2 \mathbf{v}_2 + z_2 \mathbf{w}_2. \] Convertendo para a forma matricial,
\[ \begin{bmatrix} \mathbf{u}_2 & \mathbf{v}_2 & \mathbf{w}_2 \end{bmatrix} \begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix} = \begin{bmatrix} \mathbf{u}_1 & \mathbf{v}_1 & \mathbf{w}_1 \end{bmatrix} \begin{bmatrix} x_1\\ y_1\\ z_1 \end{bmatrix}. \] Expandindo as componentes dos vetores:
\[ \begin{bmatrix} u_{2x} & v_{2x} & w_{2x} \\ u_{2y} & v_{2y} & w_{2y} \\ u_{2z} & v_{2z} & w_{2z} \\ \end{bmatrix} \begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix} = \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix} \begin{bmatrix} x_1\\ y_1\\ z_1 \end{bmatrix}. \] Podemos isolar \([x_2\quad y_2\quad z_2]^T\) multiplicando a equação à esquerda pela inversa de \([\mathbf{u}_2\quad \mathbf{v}_2\quad \mathbf{w}_2]\),
\[ \begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix} = \begin{bmatrix} u_{2x} & v_{2x} & w_{2x} \\ u_{2y} & v_{2y} & w_{2y} \\ u_{2z} & v_{2z} & w_{2z} \\ \end{bmatrix}^{-1} \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix} \begin{bmatrix} x_1\\ y_1\\ z_1 \end{bmatrix}. \] Logo,
\[ \mathbf{A}= \begin{bmatrix} u_{2x} & v_{2x} & w_{2x} \\ u_{2y} & v_{2y} & w_{2y} \\ u_{2z} & v_{2z} & w_{2z} \\ \end{bmatrix}^{-1} \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix} \]
é a matriz que converte representações de vetores na base \(\beta_1\) para representações de vetores na base \(\beta_2\).
Observe que, se \(\beta_2=\{\hat{\mathbf{i}}, \hat{\mathbf{j}}, \hat{\mathbf{k}}\}\), então
\[ \begin{align*} \mathbf{A}&= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}^{-1} \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix}\\ &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix}\\ &= \begin{bmatrix} u_{1x} & v_{1x} & w_{1x} \\ u_{1y} & v_{1y} & w_{1y} \\ u_{1z} & v_{1z} & w_{1z} \\ \end{bmatrix}, \end{align*} \]
que é simplesmente a matriz construída de tal modo que suas colunas sejam os vetores da base \(\beta_1\).
Em resumo, a matriz de mudança de base que converte vetores representados em relação a uma base \(\beta\) para vetores representados em relação à base padrão é a matriz cujas colunas são compostas pelos vetores da base \(\beta\).