Confirmação de resultado com matriz transposta – Python

Elabore um algoritmo que receba uma matriz quadrada de ordem n. Primeiro será fornecido o valor de n e depois os valores de uma matriz A. Por fim serão fornecidos valores para uma outra matriz, matriz B. O algoritmo deve comparar se a matriz B é o resultado correto da multiplicação da matriz A por sua transposta.

Exemplo:

Entrada Saída
2
1 2
4 5
5 14
14 41
correto
2
1 2
4 5
5 14
14 14
incorreto


Solução em Python, sem função

Veja que nessa solução já são criadas as matrizes com valores. Pelo enunciado o tamanho e os valores deveriam ser fornecidos pelo usuário. Fiz do jeito que está para ser mais rápido de testar, mas deveria ser alterado depois.

Teste o código: http://www.codeskulptor.org/#user43_Sct2NYMICH_0.py

Solução em Python, com função

Na solução utilizando funções fiz funções mais genéricas do que era necessário. Por exemplo, o exercício solicitava uma matriz quadrada, mas as funções de criar matriz e multiplicar matrizes, funcionam também para matrizes não quadradas e poderiam ser utilizadas em outras soluções.

Destaco uma consideração sobre a multiplicação de matrizes: na multiplicação de matrizes, o número de colunas da primeira matriz deve ser igual ao número de linhas da segunda matriz. Por isso que minha função somente recebe 3 parâmetros com relação ao tamanho das matrizes.

Teste o código: http://www.codeskulptor.org/#user43_JcJz6MpHAe_0.py

Solução em Python utilizando a biblioteca NumPy

Para finalizar, segue uma solução do exercício utilizando a biblioteca NumPy, que facilita muito a manipulação de vetores e matrizes. Veja que ela já possui as funções para multiplicar, fazer a transposta e até comparar matrizes.

Teste o código: https://ideone.com/bTMhY1

 

Share

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.