(b1, b2)
geometric_product(b1, b2) calculates the geometric
        product of the multivectors b1 and b2 (b1*b2).
geometric_product(b1, b2) calculates the geometric
        product of the multivectors b1 and b2 (b1*b2).
geometric_product ( b1 b2 ) calculates the geometric product of the multivectors b1 and b2 ( b1 * b2 ) .
def geometric_product(b1, b2):
        """
        geometric_product(b1, b2) calculates the geometric
        product of the multivectors b1 and b2 (b1*b2).
        """
        if MV.is_orthogonal:
            return MV.product_orthogonal_blades(b1, b2)
        else:
            result = MV.base_mul_table[(b1, b2)]
            return result
def geometric_product ( b1 , b2 ) : if MV . is_orthogonal : return MV . product_orthogonal_blades ( b1 , b2 ) else : result = MV . base_mul_table [ ( b1 , b2 ) ] return result