O uso de arrays é uma das formas mais adequadas para fazermos a modelagem computacional de vetores. Entretanto, devemos ficar atentos que vetores e arranjos não são equivalentes. Embora, a soma/subtração e multiplicação por escalar são similares, a multiplicação e potenciação envolvendo vetores não estão definidas, mas para arranjos são operações elemento-a-elemento.
No que segue, vamos assumir que a biblioteca NumPy está importada, i.e.
A soma dos vetores é uma operação elemento-a-elemento
| (5.12) | |||
| (5.13) | |||
| (5.14) | 
e a dos arrays é equivalente
A subtração dos vetores também é uma operação elemento-a-elemento
| (5.15) | |||
| (5.16) | |||
| (5.17) | 
e a dos arrays é equivalente
Ainda, a multiplicação por escalar
| (5.18) | |||
| (5.19) | |||
| (5.20) | 
também é feita elemento-a-elemento, assim como com arrays
Agora, para vetores, a multiplicação , divisão , potenciação não são operações definidas. Diferentemente, para arranjos são operações elemento-a-elemento
Funções vetoriais e funcionais também podem ser adequadamente modeladas com o emprego de arrays do NumPy. A biblioteca também conta com várias funções matemáticas predefinidas, consulte
A implementação da função vetorial
| (5.21) | 
para , pode ser feita da seguinte forma
Verifique!
O produto interno (ou, produto escalar) é a operação entre vetores definida por
| (5.22) | 
A função numpy.dot computa o produto interno dos arrays.
A norma de um vetor é definida por
| (5.28) | 
O submódulo de álgebra linear numpy.linalg contém a função numpy.linalg.norm para a computação da norma de arrays.
O produto vetorial entre dois vetores é definido por
| (5.33) | |||
| (5.34) | |||
| (5.35) | |||
| (5.36) | 
A função numpy.cross computa o produto vetorial entre arrays (unidimensionais de 3 elementos).
Complete as lacunas.
Usualmente, vetores são computacionalmente modelados como numpy.array.
O produto interno de dois vetores alocados como arrays pode ser computado com o método numpy.dot.
A norma de um vetor alocado como um numpy.array pode ser computado com o método numpy.linalg.norm.
a) numpy.array; b) numpy.dot; c) numpy.linalg.norm;
Dica: use a função e verifique as computações calculando os resultados esperados.
Dica: use a função numpy.linalg.norm e verifique as computações calculando os resultados esperados.
Dados vetores e , temos que
| (5.47) | 
onde é o ângulo entre esses vetores. Implemente uma função que recebe dois vetores e retorna o ângulo entre eles. Teste seu código para diferentes vetores.
A projeção ortogonal do vetor na direção do vetor é definida por
| (5.48) | 
Implemente uma função que recebe dois vetores , e retorne a projeção de na direção de . Teste seu código para diferentes vetores.
Considere os vetores
| (5.49) | |||
| (5.50) | 
Usando arrays do NumPy, compute os seguintes produtos vetoriais:
Dica: use a função numpy.cross e verifique as computações calculando os resultados esperados.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.