-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Internally, B-series store the coefficients without division by symmetry(t)
. Sometimes, it can be useful to perform this division explicitly and just use the re-normalized series. However, there are some issues with this since all interfaces assume the default normalization. Some options could be
- Just
renomalize!
and tell everyone that they need to be careful. - Return an array of normalized coefficients - but we lose the direct association with trees in this case.
- Add another field to the existing implementation(s) of B-series like
normalized::Bool
defaulting totrue
. Check this field whenever we perform operations on the B-series and throw an error if required. Change this field tofalse
whenrenormalize!
is called. The functionrenormalize!
could switch between both modes. - Tell people that they need to renormalize the coefficients themselves. That's essentially what we are doing right now, e.g., in
Lines 361 to 366 in 04b2f99
!!! note "Normalization by elementary differentials" | |
The coefficients of the B-series returned by this method need to be | |
multiplied by a power of the time step divided by the `symmetry` of the | |
rooted tree and multiplied by the corresponding elementary differential | |
of the input vector field ``f``. | |
See also [`evaluate`](@ref). |
See #117 (comment)
Metadata
Metadata
Assignees
Labels
No labels