Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Silent Leibniz propagation #108

Open
ghost opened this issue Aug 18, 2014 · 1 comment
Open

Silent Leibniz propagation #108

ghost opened this issue Aug 18, 2014 · 1 comment

Comments

@ghost
Copy link

ghost commented Aug 18, 2014

My original thought about Leibniz propagation was to have it operate silently: each time a differential is updated, the term array would be looped through, each time applying the Leibniz rule.

Leibniz propagation is reasonably fast as it's written now. Does it make sense to try this silent thing again? Here are two issues:

  1. We'd need to wipe out old entries produced by the Leibniz rule, to avoid conflicting definitions between the old and new versions of the differential just edited. This is somewhat possible: differential partial definitions are tagged by what Leibniz application was used to produce them. It's also obviously tricky: if three definitions come together to give a definition on a triple product, and first of them is changed, then the updater will mark the definition as being produced from the product firstDefn.location * (secondDefn.location + thirdDefn.location). If the third definition is then changed, then the updater, naively looking at the two locations involved in the above expression, doesn't see thirdDefn's location and so keeps the out-dated definition. There are a lot of wrinkles like this to consider.
  2. At present, Leibniz propagation is done in an inside-to-outside fashion more intelligently arranged than blindly looping through whatever order the EXTTerms happen to be delivered in. This is important: it makes sense to multiply (1, 0) against (1, 0) and then against (2, 0) to produce two new definitions, but multiplying (1, 0) against (2, 0) and then against (1, 0) only produces the second definition (and may even erroneously report the first definition as being zero).

Still, it would be cool to see the broader structure of the spectral sequence automatically become consistent with whatever change you just made...

@ghost ghost added enhancement labels Aug 18, 2014
@ghost
Copy link
Author

ghost commented Jun 18, 2016

Mark and I talked a little about this. He thinks (and I agree) that there should be a theory of Grobner bases for cDGAs, that it's probably not that hard to work out, and that understanding this could well make something like silent propagation possible. This could be something theoretical that's fun to try to work out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

0 participants