Local laplacian performance fix

The meaning of some of the schedule was changed
by the Func::operator=(const Func &) change
Catch and fixup circular references when defining reductions