(self, *vector_fields)
return mul*Add(*[tensor_prod(*p[0])*p[1] for p in zip(perms, perms_par)])
Apply on a list of vector_fields.

        The expression is rewritten internally in terms of tensor products and evaluated.
Apply on a list of vector_fields.
Apply on a list of vector_fields .
def __call__(self, *vector_fields):
        """Apply on a list of vector_fields.

        The expression is rewritten internally in terms of tensor products and evaluated."""
        orders = (covariant_order(e) for e in self.args)
        mul = 1/Mul(*(factorial(o) for o in orders))
        perms = permutations(vector_fields)
        perms_par = (Permutation(
            p).signature() for p in permutations(list(range(len(vector_fields)))))
        tensor_prod = TensorProduct(*self.args)
        return mul*Add(*[tensor_prod(*p[0])*p[1] for p in zip(perms, perms_par)])
def __call__ ( self , * vector_fields ) : orders = ( covariant_order ( e ) for e in self . args ) mul = 1 / Mul ( * ( factorial ( o ) for o in orders ) ) perms = permutations ( vector_fields ) perms_par = ( Permutation ( p ) . signature ( ) for p in permutations ( list ( range ( len ( vector_fields ) ) ) ) ) tensor_prod = TensorProduct ( * self . args ) return mul * Add ( * [ tensor_prod ( * p [ 0 ] ) * p [ 1 ] for p in zip ( perms , perms_par ) ] )