This is an algorithm programmed with Wolfram Mathematica that simulates the spikes of neurons in a network. The neurons follow the leaky Integrate and Fire model. There is also learning in the synaptic weights. It follows three models: Hebbian learning, Steepest gradient descent, and local stabilization