Skip to content

Releases: pyrates-neuroscience/PyRates

v0.17.1: Documentation overhaul

27 Sep 21:03
Compare
Choose a tag to compare
  • changed the theme of the readthedocs documentation website
  • added documentation for all supported backend functions
  • added documentation for dependencies and requirements
  • added documentation for YAML template structure to the documentation website
  • added documentation for mathematical syntax
  • added the changelog to the documentation website

v0.17.0: Improved template views

26 Sep 17:15
Compare
Choose a tag to compare
  • added __getitem__ methods on all frontend template classes that allow for a less convoluted examination of the major properties of the template classes
  • added pytests that test these new features
  • users can now quickly access each node on CircuitTemplate, each operator on NodeTemplate and EdgeTemplate, and each variable on OperatorTemplate

v0.16.0: New parameter sweep functionalities

22 Sep 22:17
Compare
Choose a tag to compare
  • added class for interactive grid search results visualization to utility
  • changed organization of the pandas DataFrames that grid-search returns: Each different parameterization of the model appears only once in the param_grid.index and the results DataFrame uses a full hierarchical column organization.
  • The pandas DataFrame returned by CircuitTemplate.run uses a fully hierarchical column organization now: Every node hierarchy level is a separate level in the column index hierarchy.
  • minor docstring improvements
  • fixed bug in edge equation setup where a wrong index was provided to the target variable sometimes
  • fixed bug in variable updating that occurred for numpy.ndarray variables where the shape attribute was an empty tuple
  • applied all changed to the gallery examples in the documentation

v0.15.1: New ComputeGraph Subclass

27 Aug 01:38
Compare
Choose a tag to compare
  • added generic method for state variable indexing to circuit.py that is used for all edge-related indexing operations now (replacing multiple, slightly different implementations at various places in circuit.py)
  • added an alternative compute graph class that can be used to generate function files that do not perform in-place manipulations of the vectorfield dy but instead just create a new variable. This is relevant for gradient-based optimization.
  • improved the modularity of the ComputeGraph
  • added a method add_import to the backend that allows adding import statements to the top of a function file
  • added a backend function concatenate that can be used in equation strings now in order to combine vectorized variables
  • removed a bug where calling clear_frontend_caches did not clear all IR caches properly

v0.15.0: Support for vectorized state variables

16 Aug 21:50
Compare
Choose a tag to compare
  • added support for models with vectorized state-variables
  • improved performance of edge operations
  • more detailed output about returned function arguments when calling CircuitTemplate.get_run_func
  • improved memory consumption during model initialization
  • complex-valued models use complex variable types for all variables and parameters now, to prevent type conversions
  • added a new method CircuitTemplate.get_var that allows users to access backend variables after calling CircuitTemplate.get_run_func
  • added automated reduction of vectorized constants, if all constants are identical
  • added possibility to pass iterables to CircuitTemplate.update_var, thus allowing to update vectorized variables in one go
  • updated CircuitTemplate.add_edges_from_matrix such that only edges with non-zero weights are added to the CircuitTemplate instance

v0.14.3: Minor convenience functions

04 Aug 01:57
Compare
Choose a tag to compare
  • run-function generating method ComputeGraph.to_func() now returns the keys of the function arguments together with the arguments (tuple of size 3 is the new return value)
  • implemented a method CircuitTemplate.get_variable_positions that allows to get the indices of state variables within the system state vector

v0.14.2: Updated changelog

22 Jun 21:19
Compare
Choose a tag to compare

Updated changelog to account for changes between v0.14.0 and v0.14.1

v0.14.1: Improved Izhikevich model support

22 Jun 21:18
Compare
Choose a tag to compare
  • added more Izhikevich mean-field model versions (biophysical and unitless, distributed background currents and spike thresholds)
  • moved all Izhikevich model templates into a separate yaml file
  • improved documentation gallery examples (removed typos from equations, debugged image embeddings)

v0.14.0: Heun's method

29 Apr 15:01
Compare
Choose a tag to compare
  • added Heun's method as a new method for solving the DE systems
  • Heun's method has been integrated with all backends
  • correct implementation of Heun's method is ensured by testing it against Eulers method and a Runge-Kutta method
  • added Heun's method to the simulations gallery example
  • improved the backend implementation of choosing between different solvers (less overlap between different backends)
  • improved documentation of the numerical solvers used in the simulations gallery example

v0.13.0: Delayed Differential Equations

26 Apr 22:17
Compare
Choose a tag to compare
  • added support for delayed differential equation (DDE) systems
  • a function past(y, tau) is now available for any backend that allows to evaluate a state variable y at time t-tau
  • edges with discrete delays that are to be used in combination with an adaptive step-size solver are translated into past calls
  • a gallery example was added that demonstrates how to interface the Python package ddeint via a DDE system generated by PyRates
  • the Julia backend received support for performing DDE simulations from within PyRates via its interface to DifferentialEquations.jl