# Collecting scalar terms in expressions with DifferentialForms

It seems that the wedge product does not allow (yet) collecting scalar terms

### Example

{f,g}::DifferentialForm(degree=0).
{V, W}::DifferentialForm(degree=1).
foo := f V ^ g W;
canonicalise(foo);
sort_product(foo);
collect_factors(foo);


In the above example all the simplification algorithms return the original foo expression, while the expected result is $f g V \wedge W$.

+1 vote

{f,g}::DifferentialForm(degree=0).

producing $f g V \wedge W$. Enjoy (and let me know if things don't work properly).