# 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

Current github/master can now do

{f,g}::DifferentialForm(degree=0).
{V, W}::DifferentialForm(degree=1).
foo := f V ^ g W;
unwrap(_);

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

by (65.1k points)
selected by