private double[][] createInitialSimplex(double[] initial){
  double[][] points=new double[initial.length + 1][];
  for (int i=0; i < points.length; i++) {
    points[i]=new double[initial.length];
  }
  System.arraycopy(initial,0,points[0],0,initial.length);
  for (int i=1; i < points.length; i++) {
    System.arraycopy(initial,0,points[i],0,initial.length);
    points[i][i - 1]+=lambda;
  }
  return points;
}

private double [ ] [ ] createInitialSimplex ( double [ ] initial ) { double [ ] [ ] points = new double [ initial . length + 1 ] [ ] ; for ( int i = 0 ; i < points . length ; i ++ ) { points [ i ] = new double [ initial . length ] ; } System . arraycopy ( initial , 0 , points [ 0 ] , 0 , initial . length ) ; for ( int i = 1 ; i < points . length ; i ++ ) { System . arraycopy ( initial , 0 , points [ i ] , 0 , initial . length ) ; points [ i ] [ i - 1 ] += lambda ; } return points ; }
create initial n + 1 simplex points using given initial point for point [ 0 ] and setting all other points to point [ 0 ] + lambda + unit_vector_ ( i - 1 ]
