MCPcopy Index your code
hub / github.com/WinVector/Logistic / QuadFun

Class QuadFun

test/com/winvector/opt/imp/TestOpt.java:46–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44 }
45
46 private static final class QuadFun implements VectorFn {
47 public final double sign;
48 public final double[] x0;
49
50 public QuadFun(final double[] x0, final double sign) {
51 this.x0 = x0;
52 this.sign = sign;
53 }
54
55 @Override
56 public int dim() {
57 return x0.length;
58 }
59
60 @Override
61 public VEval eval(final double[] x, final boolean wantGrad, final boolean wantHessian) {
62 final int n = x0.length;
63 final VEval r = new VEval(x,wantGrad,wantHessian);
64 for(int i=0;i<n;++i) {
65 final double diff = x[i]-x0[i];
66 r.fx += sign*diff*diff;
67 if(wantGrad) {
68 r.gx[i] = sign*2.0*diff;
69 }
70 if(wantHessian) {
71 r.hx[i][i] = sign*2.0;
72 }
73 }
74 return r;
75 }
76 }
77
78 public void testMax() {
79 final QuadFun f = new QuadFun(new double[] {0.2, -.62, 110.1, 11.1},-1.0);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected