Releases: pyrates-neuroscience/PyRates
Releases · pyrates-neuroscience/PyRates
v0.17.1: Documentation overhaul
- 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
- 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 onNodeTemplate
andEdgeTemplate
, and each variable onOperatorTemplate
v0.16.0: New parameter sweep functionalities
- 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 theparam_grid.index
and theresults
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 theshape
attribute was an empty tuple - applied all changed to the gallery examples in the documentation
v0.15.1: New ComputeGraph Subclass
- 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
- 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 callingCircuitTemplate.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 theCircuitTemplate
instance
v0.14.3: Minor convenience functions
- 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
Updated changelog to account for changes between v0.14.0 and v0.14.1
v0.14.1: Improved Izhikevich model support
- 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
- 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
- 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 variabley
at timet-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