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
AeB). - Utilizando o TensorFlow, encontre a inversa da matriz
A. - Multiplique a inversa da matriz
Apela matrizBpara encontrar a matriz soluçãoX, que contém os valores dex,yez.
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
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
AeB). - Utilizando o TensorFlow, encontre a inversa da matriz
A. - Multiplique a inversa da matriz
Apela matrizBpara encontrar a matriz soluçãoX, que contém os valores dex,yez.
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