code: protected DoubleMatrix2D getGradFi(DoubleMatrix1D X) {
  		DoubleMatrix2D ret = F2.make(request.getFi().length, X.size());
  		double[] x = X.toArray();
  		for(int i=0; i<request.getFi().length; i++){
  			ret.viewRow(i).assign(request.getFi()[i].gradient(x));
  		}
  		return ret;
  	}
docs: Inequality functions gradients values at X.