rendered paste body if (useImportanceSampling) { Matrix& ISD = getISDynamicState(); Matrix isMeans = ISD.Column(1); Matrix isVariances = ISD.Column(2); // apply the importance sampling and calculate // the next likelihood ratio // apply the custom importance sampling for (int i=1; i<=isVariances.Rows(); i++) { isMeans(i,1)+=ISD(i,3)*assetPaths[i]->operator ()(lPath,lTime-1) / ISD(1,4); isDeviates(i,1)=(sqrt(isVariances(i,1))*isDeviates(i,1))+isMeans(i,1); } likelihoodRatios(lPath,lTime)=likelihoodRatios(lPath,lTime-1)*U.mutliLRatioDiagonal(isDeviates,isMeans,isVariances); }