/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/BlendedLocalVolatilityModel.java
final RandomVariable localVolatilityFactor = displacement[component].sub( realizationAtTimeIndex[component].mult( realizationAtTimeIndex) ).add( displacement.mult( forward) ) ;
final RandomVariable localVolatilityFactor = realizationAtTimeIndex[component].sub ( realizationAtTimeIndex[component].mult ( displacement ) ) .add ( displacement.mult ( forward ) ) ;
double forward = 1.0; if(forwardCurve != null) { final double timeToMaturity = getLiborPeriodDiscretization().getTime(component) - getTimeDiscretization().getTime(timeIndex); forward = forwardCurve.getForward(null, Math.max(timeToMaturity, 0.0)); } if(realizationAtTimeIndex != null && realizationAtTimeIndex[component] != null) { <extra_id_0> for (int factorIndex = 0; factorIndex < factorLoading.length; factorIndex++) { factorLoading[factorIndex] = factorLoading[factorIndex].mult(localVolatilityFactor); } } return factorLoading; }