Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Operações Básicas: Álgebra Linear | Tensores
Introdução ao TensorFlow

bookOperações Básicas: Álgebra Linear

Operações de Álgebra Linear

O TensorFlow oferece um conjunto de funções dedicadas às operações de álgebra linear, facilitando as operações com matrizes.

Multiplicação de Matrizes

Segue um breve lembrete de como funciona a multiplicação de matrizes.

Existem duas abordagens equivalentes para a multiplicação de matrizes:

  • A função tf.matmul();
  • Utilização do operador @.
1234567891011121314
import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
copy
Note
Nota

Multiplicar matrizes de tamanho 3x2 e 2x4 resultará em uma matriz de 3x4.

Inversão de Matrizes

É possível obter a inversa de uma matriz utilizando a função tf.linalg.inv(). Além disso, vamos verificar uma propriedade fundamental da matriz inversa.

123456789101112131415
import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
copy
Note
Nota

Multiplicar uma matriz por sua inversa deve resultar em uma matriz identidade, que possui uns na diagonal principal e zeros em todas as outras posições. Além disso, o módulo tf.linalg oferece uma ampla variedade de funções de álgebra linear. Para mais detalhes ou operações avançadas, consulte a documentação oficial.

Transposição

É possível obter uma matriz transposta utilizando a função tf.transpose().

123456789101112
import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
copy

Produto Escalar

É possível obter um produto escalar utilizando a função tf.tensordot(). Ao configurar o argumento axes, é possível escolher ao longo de quais eixos calcular o produto escalar. Por exemplo, para dois vetores, ao definir axes=1, obtém-se o produto escalar clássico entre vetores. Porém, ao definir axes=0, obtém-se uma matriz transmitida ao longo do eixo 0:

1234567891011121314
import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
copy
Note
Nota

Se você pegar duas matrizes com dimensões apropriadas (NxM @ MxK, onde NxM representa as dimensões da primeira matriz e MxK da segunda), e calcular o produto escalar ao longo de axes=1, isso realiza essencialmente a multiplicação de matrizes.

Tarefa

Swipe to start coding

Contexto

Um sistema de equações lineares pode ser representado em forma matricial utilizando a equação:

AX = B

Onde:

  • A é uma matriz de coeficientes;
  • X é uma matriz coluna de variáveis;
  • B é uma matriz coluna representando os valores do lado direito das equações.

A solução para esse sistema pode ser encontrada utilizando a fórmula:

X = A^-1 B

Onde A^-1 é a inversa da matriz A.

Objetivo

Dado um sistema de equações lineares, utilize o TensorFlow para resolvê-lo. Considere o seguinte sistema de equações lineares:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Represente o sistema de equações em forma matricial (separe em matrizes A e B).
  2. Utilizando o TensorFlow, encontre a inversa da matriz A.
  3. Multiplique a inversa da matriz A pela matriz B para encontrar a matriz solução X, que contém os valores de x, y e z.

Nota

O fatiamento (slicing) no TensorFlow funciona de maneira semelhante ao NumPy. Portanto, X[:, 0] irá recuperar todos os elementos da coluna de índice 0. Abordaremos o fatiamento mais adiante no curso.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain the difference between tf.matmul() and the @ operator?

How do I interpret the output of the matrix inversion example?

Can you show more examples of using tf.tensordot() with different axes?

close

Awesome!

Completion rate improved to 5.56

bookOperações Básicas: Álgebra Linear

Deslize para mostrar o menu

Operações de Álgebra Linear

O TensorFlow oferece um conjunto de funções dedicadas às operações de álgebra linear, facilitando as operações com matrizes.

Multiplicação de Matrizes

Segue um breve lembrete de como funciona a multiplicação de matrizes.

Existem duas abordagens equivalentes para a multiplicação de matrizes:

  • A função tf.matmul();
  • Utilização do operador @.
1234567891011121314
import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
copy
Note
Nota

Multiplicar matrizes de tamanho 3x2 e 2x4 resultará em uma matriz de 3x4.

Inversão de Matrizes

É possível obter a inversa de uma matriz utilizando a função tf.linalg.inv(). Além disso, vamos verificar uma propriedade fundamental da matriz inversa.

123456789101112131415
import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
copy
Note
Nota

Multiplicar uma matriz por sua inversa deve resultar em uma matriz identidade, que possui uns na diagonal principal e zeros em todas as outras posições. Além disso, o módulo tf.linalg oferece uma ampla variedade de funções de álgebra linear. Para mais detalhes ou operações avançadas, consulte a documentação oficial.

Transposição

É possível obter uma matriz transposta utilizando a função tf.transpose().

123456789101112
import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
copy

Produto Escalar

É possível obter um produto escalar utilizando a função tf.tensordot(). Ao configurar o argumento axes, é possível escolher ao longo de quais eixos calcular o produto escalar. Por exemplo, para dois vetores, ao definir axes=1, obtém-se o produto escalar clássico entre vetores. Porém, ao definir axes=0, obtém-se uma matriz transmitida ao longo do eixo 0:

1234567891011121314
import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
copy
Note
Nota

Se você pegar duas matrizes com dimensões apropriadas (NxM @ MxK, onde NxM representa as dimensões da primeira matriz e MxK da segunda), e calcular o produto escalar ao longo de axes=1, isso realiza essencialmente a multiplicação de matrizes.

Tarefa

Swipe to start coding

Contexto

Um sistema de equações lineares pode ser representado em forma matricial utilizando a equação:

AX = B

Onde:

  • A é uma matriz de coeficientes;
  • X é uma matriz coluna de variáveis;
  • B é uma matriz coluna representando os valores do lado direito das equações.

A solução para esse sistema pode ser encontrada utilizando a fórmula:

X = A^-1 B

Onde A^-1 é a inversa da matriz A.

Objetivo

Dado um sistema de equações lineares, utilize o TensorFlow para resolvê-lo. Considere o seguinte sistema de equações lineares:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Represente o sistema de equações em forma matricial (separe em matrizes A e B).
  2. Utilizando o TensorFlow, encontre a inversa da matriz A.
  3. Multiplique a inversa da matriz A pela matriz B para encontrar a matriz solução X, que contém os valores de x, y e z.

Nota

O fatiamento (slicing) no TensorFlow funciona de maneira semelhante ao NumPy. Portanto, X[:, 0] irá recuperar todos os elementos da coluna de índice 0. Abordaremos o fatiamento mais adiante no curso.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9
single

single

some-alt