fD[2][0] = fpp;
fD[2][1] = (fpp + fD[0][2] * (2 * (_mu + 1) + 2 * _parameter[1] / _cutOffStrike + 4 * _parameter[2] / (_cutOffStrike * _cutOffStrike))) / _cutOffStrike;
fD[2][2] = (fpp + fD[0][2] * (2 * (2 * _mu + 3) + 4 * _parameter[1] / _cutOffStrike + 8 * _parameter[2] / (_cutOffStrike * _cutOffStrike))) / (_cutOffStrike * _cutOffStrike);
final DoubleMatrix2D fDmatrix = new DoubleMatrix2D(fD);
// Derivative of abc with respect to forward
final ColtMatrixAlgebra algebra = new ColtMatrixAlgebra();
final DoubleMatrix2D fDInverse = algebra.getInverse(fDmatrix);
final OGMatrixAlgebra algebraOG = new OGMatrixAlgebra();
for (int loopparam = 0; loopparam < 4; loopparam++) {
final DoubleMatrix1D pDSABRvector = new DoubleMatrix1D(pDSABR[loopparam]);
final DoubleMatrix1D derivativeSABR = (DoubleMatrix1D) algebraOG.multiply(fDInverse, pDSABRvector);
result[loopparam] = derivativeSABR.getData();