code: def propagateTo(self, toLayer, **args):
          
          for layerName in args:
              self[layerName].activationSet = 0 # force it to be ok
              self[layerName].copyActivations(args[layerName])
          # init toLayer:
          self[toLayer].netinput = (self[toLayer].weight).copy() 
          # for each connection, in order:
          for connection in self.connections:
              if connection.active and connection.toLayer.name == toLayer and connection.fromLayer.active:
                  connection.toLayer.netinput = connection.toLayer.netinput + \
                                                Numeric.matrixmultiply(connection.fromLayer.activation,\
                                                                       connection.weight) # propagate!
                  if self[toLayer].type != 'Input':
                      self[toLayer].activation = self.activationFunction(self[toLayer].netinput)
          return self[toLayer].activation.copy()
docs: Propagates activation to a layer. Optionally, takes input layer names
          as keywords, and their associated activations. Returns the toLayer's activation.
  
          Examples:
  
          >>> net = Network() # doctest: +ELLIPSIS
          Conx using seed: ...
          >>> net.addLayers(2, 5, 1)
          >>> len(net.propagateTo("output"))
          1
          >>> len(net.propagateTo("hidden"))
          5
          >>> len(net.propagateTo("hidden", input = [0, 0]))
          5