Skip to content

Releases: pyrates-neuroscience/PyRates

v1.0.10: Cumulative bug fixes

30 Nov 20:51

Choose a tag to compare

  • fixed #38
  • updated use example for delayed differential equations https://pyrates.readthedocs.io/en/latest/auto_analysis/dde.html#sphx-glr-auto-analysis-dde-py
  • TODO: fix issues with numpy backend and past() usage
  • added sqrt function to pytorch backend
  • fixed dimension problem with external inputs and vectorized networks. Now, different inputs to different network nodes can be passed using the all/operator/variable convention, if the input is an appropriate 2D array.
  • merged pull request #40 from PC-DOS/master to fix issue #39 as well as a typo in python_definitions.py

v1.0.9: Updated use examples and fortran backend bug fix

14 Aug 00:09

Choose a tag to compare

  • updated use examples to work with recent updates
  • debugged problems with the Fortran backend that were caused by the changes PyRates 1.0.8 (state variables were represented as length-1 vectors instead of as scalars after 1.0.8)

v1.0.8: Added NumPy >= 2.3 support

27 Jul 17:40

Choose a tag to compare

added support for numpy 2.3: Changes from numpy 2.2 to numpy 2.3 dropped support for using a default shape of None for non-array variables. This update introduces several changes to the PyRates backend to account for that.

v1.0.7: Fortran backend updates and edge template debugging

22 Jul 03:32

Choose a tag to compare

  • updated pytests to account for recent updates to sympy and other python packages
  • fixed a bug in the documentation use example continuation.py
  • improved support for complex variables in Fortran backend. The global variable I = sqrt(-1.0) is now defined in each fortran script. Also, initial conditions for complex variables are properly set via the parentheses notation, e.g. v = (1.0, 0.5).
  • fixed a bug with the recognition of complex-valued variables in the OperatorTemplate class
  • resolved bug with edge template vectorization where edge source and target indices were not applied correctly
  • dropped support for Python 3.7 and added support for Python 3.11 and 3.12

v1.0.6: Bug Fixes and Fortran Backend Improvements

05 Jul 20:13

Choose a tag to compare

  • fixed a bug that caused vectorization to fail if the same operator was used multiple times on a single node
  • fixed a bug that caused an error in the generation of unique variable names on nodes with more than 10 operators defined on them
  • fixed a bug that caused CircuitTemplate.clear() calls to not clear all attributes on a CircuitTemplate instace, causing issues with multiple calls of CircuitTemplate.get_run_func
  • updated the fortran backend to work with the recent changes to the numpy.f2py module for generating a modulate that can be imported into python from a fortran file
  • fixed a bug in the ComputeGraph class of computegraph.py that caused function names to not be updated properly for backend-specific function definitions

v1.0.5: Resolved backend bugs with the equation parser

31 Mar 21:51

Choose a tag to compare

  • adjusted the call of the max/min functions: Use maxi and mini in the equations. Both functions take two input arguments, and return the larger/smaller one, respectively
  • updated the PyRates reference in the readme and on the documentation website (using the PLOS CB paper now instead of the arxiv preprint)
  • removed a bug where differential equations with a constant right-hand side were not properly handled by the automated compute graph optimization
  • resolved an issue with the fortran backend where complex data types were not properly processed during the code generation

v1.0.4: Dropped support for Python 3.6 and added support for Python 3.10

14 Nov 18:29

Choose a tag to compare

  • updated readthedocs configuration file
  • added keyword argument adaptive to the CircuitTemplate.get_run_func method, which allows to indicate whether the generated equation file is expected to be called with an adaptive step-size solver (adaptive=True) or not
  • reduced computational overhead for the creation and simulation of delayed differential equation systems
  • removed a bug where edge attribute dictionaries were changed by mistake during the CircuitIR instantiation
  • improved working directory management in the backend
  • dropped official support for python 3.6 and added support for python 3.10

v1.0.3: Simplified variable name generation

14 Sep 20:31

Choose a tag to compare

  • simplified automated generation of unique variable names. Recursive calls etc. were replaced with look-up tables, thus improving speed during the file generation process.
  • improved variable passing between different operators within a node. Less additional variables are now created, thus reducing the memory load during run time.

v1.0.2: Improved Fortran Backend Functions and PyCoBi integration

24 Jun 19:05

Choose a tag to compare

  • fixed bug in fortran backend where the NPAR parameter for Auto-07p files was not properly set
  • improved code readability in fortran backend
  • moved selection of output variables from the results of a numerical simulation from the backend to the computegraph, thus reducing the amount of variables that had to be passed between the different classes
  • after each simulation, the value of all state variables in the compute graph is updated to the value at the final simulation step
  • added functionalities to the CircuitTemplate that allow to remember the state of all network variables from a previous simulation, even if a new backend is chosen for function generation or more simulations

v1.0.1: Improved edge adding mechanism

20 Apr 21:11

Choose a tag to compare

  • added a background input parameter to the izhikevich population template
  • updated the documentation example for parameter sweeps to account for recent changes in the keyword arguments to the grid_search function
  • changed keyword argument vectorization of the function grid_search to vectorize, to be consistent with the naming of the same argument in CircuitTemplate.run
  • updated the CircuitTemplate.add_edges_from_matrix method to allow for edges that connect separate network nodes