/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/LIBORCovarianceModelFromVolatilityAndCorrelation.java
final double factorElement = correlationModel.getFactorLoadingPseudoInverse( component , componentIndex , componentIndex , realizationAtTimeIndex) ;
final double factorElement = correlationModel.getFactorLoading ( timeIndex, factor, componentIndex ) ;
public RandomVariable getFactorLoadingPseudoInverse(final int timeIndex, final int component, final int factor, final RandomVariable[] realizationAtTimeIndex) { RandomVariable factorLoadingPseudoInverse = volatilityModel.getVolatility(timeIndex, component).invert() .mult(correlationModel.getFactorLoading(timeIndex, factor, component)); final int numberOfComponents = getLiborPeriodDiscretization().getNumberOfTimeSteps(); double factorWeight = 0.0; for(int componentIndex=0; componentIndex<numberOfComponents; componentIndex++) { <extra_id_0> factorWeight += factorElement*factorElement; } factorLoadingPseudoInverse = factorLoadingPseudoInverse.mult(1/factorWeight); return factorLoadingPseudoInverse; } @Override