(obj1, obj2)
return obj12
basic_geometric_product assumes that mv1 and mv2 are both
        mulitvectors, not scalars and both are in the base and not the
        blade representation.  No multivector flags are checked.
        This function is used to construct the blades from the bases.
basic_geometric_product assumes that mv1 and mv2 are both
        mulitvectors, not scalars and both are in the base and not the
        blade representation.  No multivector flags are checked.
        This function is used to construct the blades from the bases.
basic_geometric_product assumes that mv1 and mv2 are both mulitvectors not scalars and both are in the base and not the blade representation . No multivector flags are checked . This function is used to construct the blades from the bases .
def basic_geometric_product(obj1, obj2):
        """
        basic_geometric_product assumes that mv1 and mv2 are both
        mulitvectors, not scalars and both are in the base and not the
        blade representation.  No multivector flags are checked.
        This function is used to construct the blades from the bases.
        """
        def mul_table(b1, b2):
            return MV.base_mul_table[(b1, b2)]

        obj12 = bilinear_product(obj1 * obj2, mul_table)

        return obj12
def basic_geometric_product ( obj1 , obj2 ) : def mul_table ( b1 , b2 ) : return MV . base_mul_table [ ( b1 , b2 ) ] obj12 = bilinear_product ( obj1 * obj2 , mul_table ) return obj12