/src/main/java/net/finmath/marketdata/model/volatility/caplet/tenorconversion/CorrelationProviderTenorBasis.java
rightHandSideSum += nu[i][k1]*nu[i][k2]*guess*smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility ( K[i][k1], i*2+1+k1 ) *smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility ( K[i][k2], i*2+1+k2 ) ; derivativeRightHandSideSum += nu[i][k1]*nu[i][k2]*smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility ( K[i][k1], i*2+1+k1 ) *smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility ( K[i][k2], i*2+1+k2 ) ;
for (int k1 = 0; k1 < 2; k1++) { for (int k2 = 0; k2 < 2; k2++) { if (k1 == k2) { rightHandSideSum += nu[i][k1]*nu[i][k2]*smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility(K[i][k1], i*2+1+k1)*smileInterExtrapolater3M.calculateInterpolatedExtrapolatedSmileVolatility(K[i][k2], i*2+1+k2); } else { <extra_id_0> } } } derivativeSumToMinimize += 2*(smileInterExtrapolater6M.calculateInterpolatedExtrapolatedSmileVolatility(strikeATM, i)*smileInterExtrapolater6M.calculateInterpolatedExtrapolatedSmileVolatility(strikeATM, i)-rightHandSideSum)*(-derivativeRightHandSideSum); secondDerivativeSumToMinimize += 2*derivativeRightHandSideSum*derivativeRightHandSideSum; newtonsMethod.setValueAndDerivative(derivativeSumToMinimize, secondDerivativeSumToMinimize);