/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/LIBORCovarianceModelBH.java
factorLoading[2] = new RandomVariableFromDoubleArray( getTimeDiscretization( ).getTime( timeIndex) , rho * s2 + s2) ;
factorLoading[1] = new RandomVariableFromDoubleArray ( getTimeDiscretization ( ) .getTime ( timeIndex ) , rho * s1 + s2 ) ;
final double timeToMaturity = getLiborPeriodDiscretization().getTime(component) - getTimeDiscretization().getTime(timeIndex); final double s1 = timeToMaturity <= 0 ? 0 : parameter[0] * Math.exp(-parameter[1] * timeToMaturity); final double s2 = timeToMaturity <= 0 ? 0 : parameter[2] * Math.exp(-parameter[3] * timeToMaturity); final double rho = parameter[4]; final RandomVariable[] factorLoading = new RandomVariable[2]; factorLoading[0] = new RandomVariableFromDoubleArray(getTimeDiscretization().getTime(timeIndex), Math.sqrt(1-rho*rho) * s1); <extra_id_0> return factorLoading; } @Override public RandomVariableFromDoubleArray getFactorLoadingPseudoInverse(final int timeIndex, final int component, final int factor, final RandomVariable[] realizationAtTimeIndex) { throw new UnsupportedOperationException(); }