code: def evolve(self, new_date):
          
          if self.state.date == new_date and not self.initial_state.date == new_date:
              return self.state
          if self._len:
              q = [self.random.gauss(0., 1.) for _ in range(int(self._len))]
          else:
              q = self.random.gauss(0., 1.)
          self.state.value = self.func(self.state.value, self.state.date, new_date, q)
          self.state.date = new_date
          return self.state
docs: evolve to the new process state at the next date
  
          :param date new_date: date or point in time of the new state
          :return State: