If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Produtos vetoriais de matriz como transformações lineares

Produtos vetoriais de matriz como transformações lineares. Versão original criada por Sal Khan.

Quer participar da conversa?

Nenhuma postagem por enquanto.
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.

Transcrição de vídeo

RKA1JV - Olá, pessoal! Prontos para mais um vídeo? Acredito que você esteja bem familiarizado com a ideia de fazer um produto entre uma matriz e um vetor. E o que eu quero fazer, neste vídeo, é mostrar para você que fazer o produto entre o vetor e uma matriz, uma matriz e um vetor, é uma transformação. Na verdade, uma transformação linear. Para isso, vamos pegar aqui uma matriz, uma matriz que vou chamar de "A". E vamos dizer que ela é composta por vetores, esses vetores são as colunas da minha matriz. Lembre-se de que a gente pode escrever vetores como uma listinha, então, temos vetor v₁, v₂, na segunda coluna, v₃, a terceira coluna, até o vetor vₙ. Como eu tenho "n" vetores, eu posso dizer que essa matriz tem "n" colunas. E se esse nosso vetor tiver "n" linhas, essa vai ser uma matriz "m" por "n" "m" linhas, "n" colunas. E agora, vamos pegar uma transformação, vamos pegar uma transformação do Rⁿ para o Rᵐ, então, essa é a minha transformação pega vetores no Rᵐ e leva para vetores no Rⁿ. Agora, para definir a transformação, ela vai pegar um vetor "x" qualquer do meu domínio e vai ser igual a essa matriz "A" multiplicada pelo vetor "x". E você pode se perguntar: "mas, nossa, transformação está esquisita, está meio diferente do que a gente tem visto até agora, como transformações ou funções". Então, para tirar esse tom de estranheza da sua cabeça, vamos tentar mostrar para você que isso aqui não é nada demais. Eu tenho aqui o vetor "x", um membro do conjunto Rⁿ do meu domínio e ele foi levado para essa matriz vezes ele. Se eu for ver, "A" vezes o vetor "x" é pegar essa matriz e multiplicar por um vetor que tem aqui a coordenada [x₁, x₂, x₃], até chegar no xₙ. A gente vai até o xₙ, porque, afinal, o vetor está no Rⁿ, isso aqui seria a minha função, minha transformação. E, pela definição de produto de matrizes, a gente tem que isso aqui vai ser igual a x₁ que multiplica vetor v₁, mais x₂ que multiplica o vetor v₂, mais, até chegar em xₙ que multiplica o vetor vₙ. Mas esses vetores v₁, v₂, até o vₙ, eles são membros de qual conjunto? Veja que "A" é uma matriz "m" por "n", então cada um desses vetores são vetores coluna com "m" linhas. São todos aqui pertencentes ao conjunto Rᵐ, assim, essa soma aqui também vai ser um elemento do Rᵐ. Assim, esse elemento aqui, "A" multiplicado pelo vetor "x" vai ser um elemento do Rᵐ. Portanto, eu posso dizer, seguramente, que aqui eu estou pegando um elemento do conjunto Rⁿ. Estou levando-o aqui para o conjunto Rᵐ. O que eu estou fazendo aqui é pegar um elemento do Rⁿ e com a ajuda da minha transformação, eu o levo para Rᵐ. Eu estou falando em termos gerais, esse "m" podia ser 3, 5, R³, R², R⁵, então, aqui eu tenho um vetor "x". E através minha transformação, eu o levo para "A" vezes "x" e ainda assim você pode vir e me confrontar. Agora parece com o que a gente tinha visto de função porque está levando os membros de um conjunto para um outro conjunto. Mas quando você falava de função, você escreve algo do tipo uma transformação "T" aqui, e você colocava todos os elementos, x₁, x₂ até o xₙ. E você escrevia todos os outros "m" elementos do outro conjunto dentro de um parênteses entre vírgulas e isso não está muito parecido. Vou tentar mostrar para você que isso é, de fato, uma transformação, uma função, usando um exemplo numérico. Vamos aqui, vamos pegar uma matriz, uma matriz que vou chamar de "B". E essa matriz é [2, 3, -1, 4] e agora vou pegar uma transformação que vou chamar de "T". Uma transformação do R² no R². E essa minha transformação vai pegar um vetor "x" e vai levá-lo no produto do meu "B" com o vetor "x". Mas isso é igual a quê? A minha matriz "B" também aqui é a matriz [2, 3, -1, 4] que eu vou multiplicar pelo vetor "x". E como está no R², tem as coordenadas x₁, x₂. Agora basta fazer a minha multiplicação de matriz do jeito que ela foi definida, do jeito que a gente aprendeu. E vai ser a linha vezes coluna, vai ser linha vezes coluna. Primeiro, essa linha aqui vezes a coluna, esse elemento vezes esse é 2x₁ e eu vou somar com esse elemento vezes esse. Vai acabar dando -x₂. Agora, a linha 2 vezes a coluna, 3 vezes x₁, somado com 4 vezes x₂, então, mais 4x₂. Então, isso é o que resulta do nosso produto. Agora a gente tem aqui algo com o qual a gente está mais familiarizado. Posso falar que a minha transformação no vetor [x₁, x₂] vai ser igual, para isso eu vou ganhar um pouquinho de espaço aqui. 2x₁ menos x₂ como primeira coordenada e 3x₁ + 4x₂ como segunda coordenada. Olha só, bem parecido com o que a gente fazia anteriormente. Portanto o que a gente tem aqui, esse negócio aqui é nada mais nada menos que uma outra maneira de representar essa transformação aqui. Uma outra notação, e você pode me perguntar: será que toda a multiplicação de uma matriz por um vetor vai ser uma transformação linear? Eu já meio que respondi isso no início do nosso vídeo, mas vamos ver aqui, vamos verificar isso matematicamente. Mas, para verificar se algo é uma transformação é linear, quais são aquelas duas condições mesmo? As condições que devem ser obedecidas são: a transformação da soma de um vetor "A" com um vetor "B" tem que ser igual à transformação do vetor "A" somado com a transformação do vetor "B". Se eu somar primeiro e depois fizer a transformação, não pode ser diferente de eu primeiro fazer a transformação dos vetores, e depois somá-los. A segunda condição a ser obedecida é que, se eu pegar a transformação de uma versão multiplicada por um escalar de um vetor "A" tem que ser igual a, eu primeiro fazer a transformação, e depois multiplicar pelo escalar. Não pode importar se eu faço a soma uma antes ou depois da transformação. Vamos conferir. Começando aqui a minha demonstração, vamos pegar a uma matriz "A" e essa matriz vai ser com "m" linhas e "n" colunas e multiplicar por um vetor "x". Para representar essa matriz "A", eu posso pegar simplesmente aqui vários vetores com "m" coordenadas, com "m" linhas e fazê-los como coluna da matriz. Tem aqui o v₁, v₂, v₃ até chegar no vₙ. Como cada um desses vetores tem "m" linhas, então tem aqui uma matriz "m" por "n". Isso vai ser multiplicado pela matriz [x₁, x₂, ...] até chegar no xₙ. Agora é fazer essa continha, já vimos várias e várias vezes como que se multiplica matriz. Esse produto aqui vai dar x₁ que multiplica o vetor v₁ mais x₂ que multiplica o vetor v₂ até chegar em mais xₙ que multiplica o vetor vₙ. Lembra? É fazer linha vezes coluna. Como a gente já viu, até em um exemplo neste vídeo mesmo, como cada um desses vetores tem "m" linhas, essa soma aqui vai ser um membro do Rᵐ. Essa soma também vai ter "m" linhas. Vamos aqui um pouquinho mais para baixo. Dito isso, se eu tenho uma matriz "A", "m" por "n" e eu multiplico essa matriz por um vetor "a" mais "b", o que será que vai acontecer? Podemos representar essa operação aqui como sendo "A" que multiplica a₁ mais b₁, a₂ mais b₂ até chegar em aₙ mais bₙ. Não é verdade? Portanto, do mesmo jeito que a gente fez aqui em cima quando multipliquei a matriz "A" por um vetor "x", teremos aqui a₁ mais b₁ vezes o vetor v₁. Igual aconteceu aqui. Somado com a₂ mais b₂ vezes o vetor v₂, igual aconteceu aqui. Até que a gente chega no aₙ mais bₙ vezes o vetor vₙ. Novamente, análogo ao que aconteceu aqui em cima. Afinal, essa matriz "A" é essa mesma matriz "A". Sem dúvidas aqui. Vejam que é como se, no lugar do x₁ que eu coloquei aqui, eu escrevi a₁ mais b₁. Sabemos também que, quando multiplico escalar por vetor, a propriedade distributiva é válida. Então isso aqui pode ser escrito como a₁ vezes v₁, mais b₁ vezes v₁. Assim como esse carinha vira a₂v₂ mais b₂v₂. São vetores esses rapazes aqui, vetor e vetor, até chegar em aₙvₙ, mais bₙvₙ. E se eu mudar algumas ordens aqui, reagrupar, eu posso escrever isso como sendo a₁v₁ mais a₂v₂ até chegar aₙvₙ. Somado com os componentes que têm o "b" multiplicando b₁v₁ mais b₂v₂, mais bₙvₙ. Viu? O que eu fiz aqui foi simplesmente juntar todos os termos com o "a" nessa parte aqui. E os termos com "b", eu juntei nessa parte aqui. Foi só rearranjar os meus valores, nada demais aconteceu. Fazendo isso, fica mais fácil enxergar uma coisa em especial, olha só que interessante, o que vai ser isso aqui? Isso aqui é simplesmente pegar a minha matriz "A" e multiplicar por a₁, a₂ até aₙ. Ou seja, isso é que é "A" multiplicado pelo vetor "a". Da mesma forma, isso aqui é simplesmente a minha matriz "A" multiplicada por b₁, b₂ até bₙ, olha só, então é "A" multiplicado pelo vetor "b". Assim, a gente acabou de ver que se eu fizer a soma e depois multiplicar pela matriz, é a mesma coisa que eu multiplicar pela matriz, depois fazer a soma. Olha só, então assim a gente pode mostrar que essa primeira condição aqui está satisfeitíssima. Agora, e quanto à segunda condição? A gente vai ver que ela é até mais fácil de entender. Vamos lá, descendo um pouquinho mais, pegamos nossa matriz "A". E eu vou multiplicar essa matriz por "c" vezes o meu vetor "a". A gente já viu que pode definir essa matriz "A" muito bem com essa matriz de vetores v₁, v₂, até vₙ. Isso aqui vou multiplicar pelo produto de "c" com meu vetor "a", e isso aqui é ca₁, ca₂ até chegar no caₙ. E isso aqui vai ser igual a quê? A gente já viu isso um monte de vezes só hoje. "c" que multiplica a₁ vezes o vetor v₁, mais "c" que multiplica a₂, vezes o vetor v₂, mais, até chegar no "c" que multiplica aₙ vezes o vetor vₙ. E mais uma vez aqui, vou poder colocar esse "c" evidência. Afinal a multiplicação de escalares com vetores apresentam a propriedade distributiva. Acredito que eu já fiz um vídeo sobre isso, mas é muito simples de provar. Colocando "c" em evidência. Isso aqui é igual a "c" que multiplica a₁v₁, mais a₂v₂, mais, até chegar no aₙvₙ. Mas quem é esse rapaz aqui? Esse rapaz aqui é simplesmente minha matriz "A" vezes o vetor "a". Portanto, aqui eu consegui mostrar para você, se eu pegar um vetor multiplicado por um escalar e fizer a multiplicação com a matriz, é a mesma coisa que se, primeiro, multiplicar a matriz com o vetor, e só depois multiplicar pelo escalar. Portanto, a nossa condição número 2 também foi satisfeita. Portanto, se multiplicação de matriz por um vetor satisfaz ambas as condições, eu tenho aqui um resultado muito forte. Um resultado muito interessante, vamos aqui para baixo anotar. Veja que temos aqui um resultado muito importante. O produto entre matrizes e vetores sempre, sempre, olha só o destaque, sempre é uma transformação linear. Isso é muito forte, até porque, no próximo vídeo, eu vou mostrar para você que toda transformação linear pode ser escrita como um produto de matrizes ou como um produto entre matrizes e vetores. E isso tem um resultado muito forte, um resultado que é amplamente usado. Só para fazer aqui um parênteses, para colocar isso um pouco no seu dia a dia. Você que tem o seu Xbox e Playstation, e está sempre por aí andando em ambientes 3D, atirando em tudo o que é coisa. Todas essas imagens são renderizadas através de transformações lineares, de transformações de vetores. Por exemplo, quando você vê um cubo e o cubo está mais ou menos nessa direção aqui, você muda o ângulo de visão dele. Ele passa a aparecer mais ou menos assim. Todo esse tipo de transformação, de visão, são transformações de matrizes, são cálculos com transformações lineares, com produtos de matrizes. Inclusive, no próximo vídeo, vou provar para você que todas essas representações 3D que a gente tem nos computadores, nos videogames, são simplesmente multiplicações de matrizes. Todos esses hardwares, essas placas gráficas, são simplesmente máquinas de fazer continhas com matrizes. Por isso, para rodar bem um jogo, a gente precisa de algo dedicado a fazer essas contas. Com rapidez, com velocidade, são as tais das GPUs e CPUs. Espero que você tenha gostado e até o próximo vídeo! Tchau, tchau, pessoal!