Operaçõ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
@
.
1234567891011121314import 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)
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.
123456789101112131415import 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)
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()
.
123456789101112import 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)
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:
1234567891011121314import 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)
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.
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:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Represente o sistema de equações em forma matricial (separe em matrizes
A
eB
). - Utilizando o TensorFlow, encontre a inversa da matriz
A
. - Multiplique a inversa da matriz
A
pela matrizB
para encontrar a matriz soluçãoX
, que contém os valores dex
,y
ez
.
Nota
O fatiamento (slicing) no TensorFlow funciona de maneira semelhante ao NumPy. Portanto,
X[:, 0]
irá recuperar todos os elementos da coluna de índice0
. Abordaremos o fatiamento mais adiante no curso.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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?
Awesome!
Completion rate improved to 5.56
Operaçõ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
@
.
1234567891011121314import 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)
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.
123456789101112131415import 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)
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()
.
123456789101112import 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)
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:
1234567891011121314import 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)
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.
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:
2x + 3y - z = 1
.4x + y + 2z = 2
.-x + 2y + 3z = 3
.

- Represente o sistema de equações em forma matricial (separe em matrizes
A
eB
). - Utilizando o TensorFlow, encontre a inversa da matriz
A
. - Multiplique a inversa da matriz
A
pela matrizB
para encontrar a matriz soluçãoX
, que contém os valores dex
,y
ez
.
Nota
O fatiamento (slicing) no TensorFlow funciona de maneira semelhante ao NumPy. Portanto,
X[:, 0]
irá recuperar todos os elementos da coluna de índice0
. Abordaremos o fatiamento mais adiante no curso.
Solução
Obrigado pelo seu feedback!
single