private Matrix CreateDerivativeMatrix(Vector lastInducedField) { ICollection <double> lst = CollectionFactory.CreateQueue <double>(); for (int i = 0; i < lastInducedField.Size(); ++i) { lst.Add(layer.GetActivationFunction() .Deriv(lastInducedField.GetValue(i))); } return(Matrix.createDiagonalMatrix(lst)); }