No que se refere à manipulação de vetores em Python, julgue ...
No que se refere à manipulação de vetores em Python, julgue o item seguinte.
O código a seguir, escrito em Python, será executado sem
erros, pois, nativamente, é possível realizar operações
matemáticas complexas em vetores sem a necessidade de
importar bibliotecas.
u = [1, 2, 3]
v = [[1], [2], [3]]
print(u @ v)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
Vamos entender o motivo pelo qual a afirmação é incorreta. Em Python, o operador @ é conhecido como operador de produto matricial, e foi introduzido na versão 3.5 do Python. No entanto, ele não pode ser utilizado diretamente em listas para realizar operações matemáticas complexas, como a multiplicação de vetores ou matrizes.
No código apresentado, temos duas estruturas de dados: u é uma lista que representa um vetor, e v é uma lista de listas que pode ser interpretada como uma matriz. Tentar usar o operador @ diretamente com essas estruturas resultará em um erro, pois o Python não suporta essa operação na forma nativa para tipos list.
Para realizar tais operações matemáticas em Python, geralmente utilizamos a biblioteca NumPy, que oferece suporte para arrays n-dimensionais e uma vasta coleção de funções para operações matemáticas, incluindo o produto matricial.
Portanto, a correta manipulação dos vetores e matrizes para realizar a operação desejada envolveria inicialmente a conversão das listas para arrays NumPy, o que poderia ser feito assim:
```python import numpy as np u = np.array([1, 2, 3]) v = np.array([[1], [2], [3]]) print(u @ v) # Isso funcionaria corretamente. ```Em resumo, o erro no item se deve ao fato de que operações matemáticas complexas sobre vetores e matrizes requerem a importação de bibliotecas especializadas, como NumPy, e não são realizadas nativamente com as listas do Python.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Não dá pra relaizar todas as operações matemáticas
ERRADO
Em python vc consegue realizar operações básicas (soma, subtração, multiplicação...) operações mais complexas precisam ser importadas
O erro está no operador @. Desconheço esse operador para esse tipo de operação. Se tiver, contribuam conosco com esta informação.
Em python, a expressão u @ v é válida se u e v forem objetos do tipo vetor ou matriz que suportam a operação de multiplicação definida pelo operador @. O operador @ é utilizado para a multiplicação de matrizes e produtos escalares entre vetores, mas é preciso importar a biblioteca NumPy que suporta expressões matemática complexas.
Gabarito: E
Isso é produto de matrizes do Numpy
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo