code: def _transform_gradients(self, g):
          
          #py3 fix
          #[np.put(g, i, c.gradfactor(self.param_array[i], g[i])) for c, i in self.constraints.iteritems() if c != __fixed__]
          [np.put(g, i, c.gradfactor(self.param_array[i], g[i])) for c, i in self.constraints.items() if c != __fixed__]
          if self._has_fixes(): return g[self._fixes_]
          return g
docs: Transform the gradients by multiplying the gradient factor for each
          constraint to it.