@@ -89,7 +89,8 @@ def __init__(
8989 self .j_input = Compartment (restVals , display_name = "Input Stimulus Current" , units = "mA" ) # electrical current
9090 self .j_recurrent = Compartment (restVals , display_name = "Recurrent Stimulus Current" , units = "mA" ) # electrical current
9191 self .x = Compartment (restVals , display_name = "Rate Activity" , units = "mA" ) # rate activity
92- self .r = Compartment (restVals , display_name = "Rectified Rate Activity" ) # rectified output
92+ self .r = Compartment (restVals , display_name = "(Rectified) Rate Activity" ) # rectified output
93+ self .r_prime = Compartment (restVals , display_name = "Derivative of rate activity" )
9394
9495 @compilable
9596 def advance_state (self , t , dt ):
@@ -106,12 +107,14 @@ def advance_state(self, t, dt):
106107 _step_fn = _step_fns [self .intgFlag ] #_step_fns.get(self.intgFlag, step_euler)
107108 params = (self .j_input .get (), self .j_recurrent .get (), eps , self .tau_x , self .sigma_rec , self .leak_scale )
108109 _ , x = _step_fn (0. , self .x .get (), _dfz , dt , params ) ## update state activation dynamics
109- r = self .fx (x ) ## calculate rectified / post-activation function value(s)
110+ r = self .fx (x ) ## calculate (rectified) activity rates; f(x)
111+ r_prime = self .dfx (x ) ## calculate local deriv of activity rates; f'(x)
110112
111113 ## set compartments to next state values in accordance with dynamics
112114 self .key .set (key )
113115 self .x .set (x )
114116 self .r .set (r )
117+ self .r_prime .set (r_prime )
115118
116119 @compilable
117120 def reset (self ):
@@ -123,6 +126,7 @@ def reset(self):
123126 self .j_recurrent .set (restVals )
124127 self .x .set (restVals )
125128 self .r .set (restVals )
129+ self .r_prime .set (restVals )
126130
127131 @classmethod
128132 def help (cls ): ## component help function
0 commit comments