protected double optimalBandwidth(int dim){
  double hopt=8 * GammaDistribution.gamma(dim / 2.0 + 1) * (dim + 4)* MathUtil.powi(2,dim);
  return hopt * Math.pow(relation.size(),(-1. / (dim + 4)));
}

protected double optimalBandwidth ( int dim ) { double hopt = 8 * GammaDistribution . gamma ( dim / 2.0 + 1 ) * ( dim + 4 ) * MathUtil . powi ( 2 , dim ) ; return hopt * Math . pow ( relation . size ( ) , ( - 1. / ( dim + 4 ) ) ) ; }
compute optimal kernel bandwidth
