Closed drhagen closed 9 years ago
If my model builds without simplification, I'm fine with the removal. Otherwise, a simplification flag is fine. I'm out of town without a computer right now, so I won't be able to try this until Monday the 2.
Simplification doesn't seem to make much of a difference in how long second-order symbolic differentiation takes for my model, so let's just remove it for now. If we find a reason that we need it later, we can add a flag that can be set to enable simplification.
I'm in favor of keeping this as a flag, with default = false. The documentation should just note that most models build faster and don't run faster with it false.
On Mon, Nov 2, 2015 at 7:35 PM, dflowers7 notifications@github.com wrote:
Simplification doesn't seem to make much of a difference in how long second-order symbolic differentiation takes for my model, so let's just remove it for now. If we find a reason that we need it later, we can add a flag that can be set to enable simplification.
— Reply to this email directly or view it on GitHub https://github.com/kroneckerbio/kroneckerbio/issues/71#issuecomment-153204170 .
Obviously, I don't want to remove this if this speeds up some people's models. But right now, every time I merge into my production folder, I have to go into
diff_vectorized
and delete the calls tosimplifyFraction
. These calls cause my model to not build because the "simplification" inflates some expressions that are like 1000 characters long and inflates them above a 1 000 000 characters.Here is an example that demonstrates the problem, but has been simplified to the point where it won't crash your computer. It's a big expression, but a reasonable one for the ODE of a state in a biological model.
I have tried all the other simplification functions in Mupad, all of them do this. I think it does a lot of expansion. Mathematical simplification is not the same as computational simplification. Has anyone found that this actually makes their models run faster?
If no one has actually found that this improves things, I propose that we remove
simplifyFraction
until we find a model that it improves. If this has actually been found to improve a model, then we need to put this behind a flag and debate what the default should be.