Object-oriented Transformations#
The math module for whole BrainPy ecosystem.
This module provides basic mathematical operations, including:
numpy-like array operations
linear algebra functions
random sampling functions
discrete fourier transform functions
just-in-time compilation for class objects
automatic differentiation for class objects
dedicated operators for brain dynamics modeling
activation functions
device/dtype switching
and others
Details in the following.
Objects and Variables#
The BrainPyObject class for the whole BrainPy ecosystem. |
|
Transform a Python function as a |
|
A picklable, object-aware partial application of a function. |
|
A sequence of |
|
A dictionary of |
|
The pointer to specify the dynamical variable. |
|
The pointer to specify the parameter. |
|
The pointer to specify the trainable variable. |
|
A view of a Variable instance. |
|
A sequence of |
|
A dictionary of |
|
Object-oriented Transformations#
Automatic gradient computation for functions or class objects. |
|
Take vector-valued gradients for function |
|
Extending automatic Jacobian (reverse-mode) of |
|
Extending automatic Jacobian (reverse-mode) of |
|
Extending automatic Jacobian (forward-mode) of |
|
Hessian of |
|
Simple conditional statement (if-else) with instance of |
|
|
|
|
|
|
|
|
|
JIT (Just-In-Time) compilation for BrainPy computation. |
|
Just-in-time compile a function and then the jitted function as the bound method for a class. |
|
Transform a Python function to |
|
Transform a Python function into a |
|
A progress bar for tracking the progress of a jitted for-loop computation. |