code: private double project(double[] pointA, double[] i) {
  		assert (i.length == pointA.length);
  		return Metric.dotProduct(pointA, i);
  	}
docs: Projects a point to a random projection.
  
  @param pointA
  the point to project
  @param i
  the projection
  @return the position of the point