@Override public double[] gradient(double[] Y) { DoubleMatrix1D y = DoubleFactory1D.dense.make(Y); DoubleMatrix1D X = y.viewPart(0, dim); DoubleMatrix1D origGrad = F1.make(originalFi.gradient(X.toArray())); DoubleMatrix1D ret = F1.make(1, -1); ret = F1.append(origGrad, ret); return ret.toArray(); }
@Override public double[] gradient(double[] Y) { DoubleMatrix1D y = DoubleFactory1D.dense.make(Y); DoubleMatrix1D X = y.viewPart(0, originalDim); DoubleMatrix1D origGrad = F1.make(originalFi.gradient(X.toArray())); DoubleMatrix1D ret = F1.make(1, -1); ret = F1.append(origGrad, ret); return ret.toArray(); }
b = F1.append(g, h).assign(Mult.mult(-1)); }else{
initialPoint = F1.append(X0, initialPoint); double s0 = initialPoint.getQuick(dim-1); for(int i=0; i<originalFiX0.size(); i++){
initialPoint = F1.append(X0, initialPoint); for(int i=0; i<originalFiX0.size(); i++){
initialPoint = F1.append(X0, initialPoint); or.setInitialPoint(initialPoint.toArray());