python – Multiplicación de matrices | Matriz inversa

Mi código es el siguiente (tiene sus detalles):

    dim = int(input("n  Introduce la dimensión de las matrices: ")) 
    matrizA = np.zeros((dim, 2*dim)) 
    matrizB = np.zeros((dim, dim))
    #Llenamos la matriz A
    for i in range(dim):
        for j in range(dim):
            matrizA(i)(j) = float(input('a('+str(i)+')('+ str(j)+')='))
    #Llenar la matriz B
    for i in range(dim):
        for j in range(dim):
            matrizB(i)(j) = float(input('b('+str(i)+')('+ str(j)+')='))

    #Calcular inversa de A
    # Matriz de identidad aumentada de orden n

    for i in range(dim):
        for j in range(dim):
            if i == j:
                matrizA(i)(j+dim) = 1

    for i in range(dim):
        if matrizA(i)(i) == 0.0:
            sys.exit('Divide by zero detected!')

        for j in range(dim):
            if i != j:
                ratio = matrizA(j)(i)/matrizA(i)(i)
                for k in range(2*dim):
                    matrizA(j)(k) = matrizA(j)(k) - ratio * matrizA(i)(k)

    for i in range(dim):
        divisor = matrizA(i)(i)
        for j in range(2*dim):
            matrizA(i)(j) = matrizA(i)(j)/divisor

    print('n  La matriz inversa es:')

    for i in range(dim):
        for j in range(dim, 2*dim):
            print(matrizA(i)(j), end='t')
        print()

Ahora, lo que he intentado hacer es tener el producto BA^{-1}, pero no lo consigo. ¿Qué estoy haciendo mal?, ¿cómo lo soluciono?

Creo que lo que me está dando problemas son las dimensiones de la matriz…