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

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents 5df24c91468d
children
rev   line source
samer@1 1 package eg.maths;
samer@1 2 import samer.core.*;
samer@1 3 import samer.maths.*;
samer@1 4
samer@1 5 public class GaussianForm extends QuadraticForm
samer@1 6 {
samer@1 7 public GaussianForm() { super(); }
samer@1 8 public GaussianForm(int n) { super(n); }
samer@1 9
samer@1 10 public double apply(double [] x) {
samer@1 11 return -Math.exp(super.apply(x));
samer@1 12 }
samer@1 13
samer@1 14 public VectorFunctionOfVector derivative()
samer@1 15 {
samer@1 16 return new VectorFunctionOfVector() {
samer@1 17 public void apply(double [] x) {
samer@1 18 double z=GaussianForm.this.apply(x);
samer@1 19 Mathx.copy(y,x);
samer@1 20 Mathx.mul(x,-z);
samer@1 21 }
samer@1 22 public void apply(double [] x, double [] v) {
samer@1 23 double z=GaussianForm.this.apply(x);
samer@1 24 Mathx.copy(y,v);
samer@1 25 Mathx.mul(v,-z);
samer@1 26 }
samer@1 27 };
samer@1 28 }
samer@1 29 }