Elabore um código em uma tecnologia ( C / C++ ou Python) que dada duas matrizes A e B quadradas de ordem 3 times 3, calcule as seguintes propriedades:
[A, B]

Passo 1

O problema pede para, dadas duas matrizes quadradas de ordem 3times3, calcular o comutador
[A,B] = AB ;-; BA
Isso envolve duas operações básicas de álgebra linear: multiplicação de matrizes e subtração de matrizes.

Passo 2

Para multiplicar duas matrizes A e B de ordem 3times3, usamos a definição
(AB)ij ;=; sumk=1^3 Aik,Bkj
Em Python, isso se traduz em três loops aninhados: um para a linha i, outro para a coluna j e outro para o somatório em k.

Passo 3

Para subtrair duas matrizes C e D de mesma ordem, basta fazer
(C-D)ij = Cij - Dij
elemento a elemento. Em Python, podemos usar compreensão de listas aninhadas.

Passo 4

Implementamos em Python três funções:
  • \(matrix_mul\)(A, B) que retorna .
  • \(matrix_sub\)(A, B) que retorna .
  • commutator(A, B) que retorna chamando as duas anteriores.

Passo 5

No bloco principal (), mostramos um exemplo de entrada definindo duas matrizes e e imprimimos o resultado do comutador.

Resposta

def matrix_mul(A, B):
    """
    Multiplica duas matrizes \(3\times 3\) A e B.
    Retorna uma nova matriz \(C = A \cdot B\).
    """
    # inicializa C com zeros
    C = [[0 for _ in range(3)] for _ in range(3)]
    # três loops aninhados para calcular cada C[i][j]
    for i in range(3):
        for j in range(3):
            for k in range(3):
                C[i][j] += A[i][k] * B[k][j]
    return C

def matrix_sub(A, B):
    """
    Subtrai duas matrizes \(3\times 3\) A e B.
    Retorna uma nova matriz \(D = A - B\).
    """
    # compreensão de listas para subtração elemento a elemento
    return [[A[i][j] - B[i][j] for j in range(3)] for i in range(3)]

def commutator(A, B):
    """
    Calcula o comutador \([A, B] = A \cdot B - B \cdot A\) para matrizes \(3\times 3\).
    """
    AB = matrix_mul(A, B)
    BA = matrix_mul(B, A)
    return matrix_sub(AB, BA)

if __name__ == "__main__":
    # Exemplo de matrizes A e B
    A = [
        [1, 2, 3],
        [0, 1, 4],
        [5, 6, 0]
    ]
    B = [
        [0, 1, 0],
        [2, 3, 4],
        [5, 6, 7]
    ]
    # calcula o comutador
    C = commutator(A, B)
    print("Comutador \([A, B] = A \cdot B - B \cdot A\):")
    for row in C:
        print(row)

Exercícios relacionados