we keep the d1, d2, and vd1 methods with the indexes, but we rename them as getD1, getD2, getVD1
we introduce a new method called computeAllValues(double * x), which will compute and store internally in the class all the derivatives (and the WF value itself). All these values will then be accessible with the getters.
We should go for 1. and 2., but in a nicer way:
AC: