public void processError(FeedForwardNeuralNetwork network, Vector error)
{
// TODO calculate total error somewhere
// create Sensitivity Matrices
outputSensitivity.sensitivityMatrixFromErrorMatrix(error);
hiddenSensitivity
.sensitivityMatrixFromSucceedingLayer(outputSensitivity);
// calculate weight Updates
calculateWeightUpdates(outputSensitivity, hiddenLayer
.getLastActivationValues(), learningRate, momentum);
calculateWeightUpdates(hiddenSensitivity, hiddenLayer
.getLastInputValues(), learningRate, momentum);
// calculate Bias Updates
calculateBiasUpdates(outputSensitivity, learningRate, momentum);
calculateBiasUpdates(hiddenSensitivity, learningRate, momentum);
// update weightsAndBiases
outputLayer.updateWeights();
outputLayer.updateBiases();
hiddenLayer.updateWeights();
hiddenLayer.updateBiases();
}