Skip to content

Latest commit

 

History

History
262 lines (210 loc) · 6.25 KB

CHANGES.rst

File metadata and controls

262 lines (210 loc) · 6.25 KB

v0.14.4

  • Update to latest syntax for Cython's nogil declaration (must be last)

v0.14.3

  • More robust handling of comparison between numpy and sympy matrices.

v0.14.2

  • Import Iterable from collection.abc (python 3.11 compat.)

v0.14.1

  • Relax version requirement for notebook (to enable use in colab)

v0.14.0

  • Update AnyODE to new upstream version.

v0.13.1

  • Allow CFLAGS/LDFLAGS to be passed to cvode backend through PYODESYS_CVODE{FLAGS,LDFLAGS}

v0.13.0

  • Use sundials>=5.1.0 & pycvodes>=0.12.0

v0.12.6

  • Updated pycvodes req. version (>=v0.11.15)

v0.12.5

  • Fix for ew_ele in native CVode(s) interface.

v0.12.4

  • Support for constraints in pycvodes using sundials >=3.2.0

v0.12.3

  • Support for sparse jacobians. Implementation by @spcornelius

v0.12.2

  • cvodes code now support multiple precisions (sundials may be compiled with float, double or long double). Implementation by @spcornelius

v0.12.1

  • Fix CSE in native code-generation

v0.12.0

  • Support for "jtimes" (jacobian times vector) for use with iterative solvers
  • NativeSys now uses latest AnyODE

v0.11.16

  • Fix CSE in native code-generation

v0.11.15

  • Updated (upper) requirements of pycvodes, pygslodeiv2, pyodeint (v0.12.0 will again require latest versions)

v0.11.14

  • Relax a few native tests

v0.11.13

  • Further fixes to only require C++11

v0.11.12

  • Change C++ requirement to C++11

v0.11.11

  • Bumpy AnyODE to version 14

v0.11.10

  • Bump AnyODE to version 13

v0.11.9

  • Bump AnyODE to version 12

v0.11.8

  • Certain gcc versions giving trouble with std::abs, switching to C's fabs.

v0.11.7

  • chained_parameter_variation now also available as a method.

v0.11.6

  • Changed install_requirements in setup.py to be less minimalistic.
  • Improved install instructions.

v0.11.5

  • Introduced ODESys.numpy to allow user to used a patched numpy module. (e.g. for quantitites)

v0.11.4

  • Make sure nonlinear_invariants are copied in SymbolicSys.from_other.

v0.11.3

  • Harden a intermittently failing test (dict ordering)

v0.11.2

  • to_arrays now accepts a kwarg 'reshape'
  • New (convenience) methods for SymbolicSys:
    • from_other_new_params
    • from_other_new_params_by_name

v0.11.1

  • Fixes to to_arrays (in combination with as_autonomous & from_other)
  • chained_parameter_variation got a new parameter: npoints
  • latex_names in plotting are now assumed not to be wrapped in $$.

v0.11.0

  • Using new upstream pycvodes-0.9.0 (new ABI for native_sys['cvode'])

v0.10.4

  • Optimized away bottleneck for back transforming data.

v0.10.3

  • Fix for scalar bounds in SymbolicSys

v0.10.2

  • Softer bounds checking
  • with_jtimes (pycvodes >= 0.8.3)

v0.10.1

  • Bump AnyODE

v0.10.0

  • Added SymbolicSys.as_autonomous()
  • SymbolicSys arg "params" now need to be True to induce deduction.

v0.9.2

  • Copy pyx to cache dir prior to cythonize

v0.9.1

  • Address indep by name
  • Bumpy AnyODE

v0.9.0

  • Support for max_invariant_violations
  • Expose special settings
  • Fix dropping units

v0.8.1

  • Fix bug in PartiallySolvedSystem when passing linear_invariants to constructor.

v0.8.0

  • New function core.integrate_chained for use with TransformedSys.
  • Calls to f(x, y[:], p[:]) now carries y0 in p[np:np+ny] (also applies to jac, etc.)
  • Renamed OdeSys to ODESys (OdeSys left as a deprecated alias)
  • New arguments to ODESys: dep_by_name, par_by_name, param_names, latex_names, latex_param_names
  • New kwargs: first_step{cb,expr,factory} in ODESys, SymbolicSys & SymbolicSys.from_callback respectively.
  • SymbolicSys.jacobian_singular() returns bool (uses cse and LUdecomposition raising ValueError)
  • New module: .results

v0.7.0

  • Generate (multi-threaded) C++ code (against pyodeint, pycvodes, pygslodeiv2)
  • OdeSys.internal* -> OdeSys._internal

v0.6.0

  • depend on package sym for symbolic backend

v0.5.3

  • minor fixes

v0.5.2

  • from_callback now respects backend paramter (e.g. math or sympy)

v0.5.1

  • Added SymbolicSys.analytic_stiffness
  • Allow chaining pre-/post-processors in TransformedSys
  • Make PartiallySolvedSys more general (allow use dependent variable)
  • Better choice of first_step when not specified (still arbitrary though)
  • Documentation fixes
  • SymbolicSys got a new classmethod: from_other

v0.5.0

  • OdeSys.solve() changed signature: first arg "solver" moved to kwargs and renamed "integrator". Default of None assumed (inspects $PYODESYS_INTEGRATOR)
  • OdeSys.integrate* renamed _integrate_* (only for internal use).
  • Info dict from integrate() keys renamed (for consistency with pyneqsys):
    • nrhs -> nfev
    • njac -> njev
    • internal_xout (new)
    • internal_yout (new)

v0.4.0

  • SymbolicSys not available directly from pyodesys (but from pyodesys.symbolic)
  • OdeSys.integrate* documented as private (internal).
  • symbolic.PartiallySolvedSystem added
  • multiple (chained) pre and postprocessors supported
  • stiffness may be inspected retroactively (ratio biggest/smallest eigenvalue of the jacobian matrix).

v0.3.0

  • OdeSys.integrate* methods now return a tuple: (xout, yout, info-dict) currently there are no guarantees about the exact contents of the info-dict.
  • signature of callbacks of rhs and jac in OdeSys are now:

    (t, y_arr, param_arr) -> f_arr

  • two new methods: adaptive and predefined (incl. tests)
  • Support roots
  • Refactor plot_result (interpolation now available)
  • Make Matrix class optional
  • Added force_predefined kwarg to integrate()
  • Fix bug in symmetricsys().from_callback()
  • New upstream versions of pyodeint, pycvodes and pygslodeiv2
  • Tweak tests of pycvodes backend for new upstream
  • New example

v0.2.0

  • New OdeSys class factory: symmetricsys for symmetric transformations
  • Breaking change (for consistency with symneqsys): (lband, uband) -> band
  • New convenience method: OdeSys.plot_result

v0.1.2

  • added util.check_transforms

v0.1.1

  • Variable transformations supported
  • Only require sympy, numpy and scipy in requirements.txt

v0.1

  • support for scipy, pyodeint, pygslodeiv2, pycvodes