* @param timepoints
* @return
*/
public IDoubleArray perturbationExpectation(IDoubleArray M, IDoubleArray pi0, IDoubleArray observable, IDoubleArray timepoints)
{
IDynamicalExpectations dexp = MarkovModel.create.createDynamicalExpectations(M);
IDoubleArray res = Doubles.create.array(timepoints.size());
for (int i=0; i<res.size(); i++)
res.set(i, dexp.calculatePerturbationExpectation(pi0, observable, timepoints.get(i)));
return(res);
}