package mikera.vectorz.ops;

public class NormalRBF extends ABoundedOp {

	public static final NormalRBF INSTANCE=new NormalRBF();
	
	@Override
	public double apply(double x) {
		return Math.exp(-(x*x));
	}
	
	@Override
	public boolean hasDerivative() {
		return true;
	}
	
	@Override
	public boolean hasDerivativeForOutput() {
		return false;
	}
	
	@Override
	public double derivative(double x) {
		return -2*x*Math.exp(-(x*x));
	}

	@Override
	public double averageValue() {
		return 0.5;
	}

	@Override
	public double minValue() {
		return 0.0;
	}
	
	@Override
	public boolean hasInverse() {
		return false;
	}

	@Override
	public double maxValue() {
		return 1.0;
	}

}

 

Ads help maintain this website.