In this latest release, the primary focus has been on refining the order of variable calculation within cyclic relationships.
The key improvements in this version:
1. **Addition of the `cycle_order` attribute** - we've introduced the `cycle_order` attribute within the `Variable` class. This attribute contains an integer that defines the calculation order within groups of variables forming cycles.
2. **Prevention of bidirectional recursion** - bidirectional recursion, where a variable calls both `t-...` and `t+...` in its definition, is now explicitly disallowed in the models. This restriction helps maintain clear and manageable relationships between variables.
3. **Error handling for negative index calls** - the package raises errors for calls with negative indexes. When a model variable is invoked for `t<0`, the package prompts an error, preventing potential inconsistencies in computations.