Kasper Peeters
Kasper Peeters
Reading very large notebooks is slow at startup and can even trigger a timeout. TeX needs to run on a separate thread.
`::Depends(\sigma)` should figure out which indices take value `\sigma`, and then automatically use that info to induce a `::Depends(\partial_{a})` type property.
See e.g. https://cadabra.science/qa/730/run-time-error-with-young_project_tensor
See e.g. https://cadabra.science/qa/728/bug-generic-tex-error
example: {h(t), R(t)}::NonCommuting; \partial{#}::PartialDerivative; t::Coordinate; ex:= h(r) \partial_{t}{ R(t) } + R(t) \partial_{t}{ h(t) }; sort_product(_);
E.g. derivatives with respect to coordinates have the coordinates compared only at the level of the node name, not the entire symbol tree. Should share dependency code with `evaluate.cc`.
Code which determines implicit dependence is duplicated between `unwrap` and `evaluate`, and neither cover all possible cases. Merge and put in the core.
An expression like ex:=\int{ f(y) }{y}**2; expand_power(_); should have the integration variable renamed for the 2nd factor.
Right now `Distributable` makes operators distribute over all their arguments; this prevents rules which enable things like in https://stackoverflow.com/questions/50361917/expand-a-function-of-an-arbitrary-number-of-arguments-if-it-is-linear-in-each-ar