1. A method for implementing an artificial neural network comprises: connecting a plurality of receiving neurons to a plurality of transmitting neurons through memristive synapses, each memristive synapse having a weight ( 705 ); initializing weights of the memristive synapses to a conductive state ( 715 ); presenting a input vector through the memristive synapses to the plurality of receiving neurons ( 735 ); and modifying the state of one or more of the memristive synapses based the input vector ( 760 ).