view examples/maths/GaussianForm.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents 5df24c91468d
children
line wrap: on
line source
package eg.maths;
import  samer.core.*;
import  samer.maths.*;

public class GaussianForm extends QuadraticForm
{
	public GaussianForm() { super(); }
	public GaussianForm(int n) { super(n); }

	public double apply(double [] x) { 
		return -Math.exp(super.apply(x));
	}

	public VectorFunctionOfVector derivative() 
	{	
		return new VectorFunctionOfVector() {
			public void apply(double [] x) {
				double z=GaussianForm.this.apply(x);
				Mathx.copy(y,x);
				Mathx.mul(x,-z);			
			}
			public void apply(double [] x, double [] v) {
				double z=GaussianForm.this.apply(x);
				Mathx.copy(y,v);
				Mathx.mul(v,-z);
			}
		};
	}
}