No que se refere à manipulação de vetores em Python, julgue ...

Próximas questões
Com base no mesmo assunto
Q2275896 Programação

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) 


Alternativas

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