private static LinkedList<double[]> GetRandomVectors(double[] x) { var result = new LinkedList<double[]>(); var step = GetStep(); for (var i = 0; i < M; i++) { var vector = new double[x.Length]; for (var j = 0; j < x.Length; j++) vector[j] = GetPseudoRandomValue(); var norma = GetVectorNorma(vector); for (var k = 0; k < x.Length; k++) vector[k] = x[k] + vector[k] * step / norma; result.AddLast(vector); } return result; }