private RandomVariable getA(double time, double maturity) {
		int timeIndex = getProcess().getTimeIndex(time);
		double timeStep = getProcess().getTimeDiscretization().getTimeStep(timeIndex);

		RandomVariable zeroRate = getZeroRateFromForwardCurve(time); //getDiscountFactorFromForwardCurve(time).div(getDiscountFactorFromForwardCurve(timeNext)).log().div(timeNext-time);

		RandomVariable forwardBond = getDiscountFactorFromForwardCurve(maturity).div(getDiscountFactorFromForwardCurve(time)).log();

		RandomVariable B = getB(time,maturity);

		RandomVariable lnA = B.mult(zeroRate).sub(B.squared().mult(getShortRateConditionalVariance(0,time).div(2))).add(forwardBond);

		return lnA.exp();
	}
private RandomVariable getA ( double time , double maturity ) { int timeIndex = getProcess ( ) . getTimeIndex ( time ) ; double timeStep = getProcess ( ) . getTimeDiscretization ( ) . getTimeStep ( timeIndex ) ; RandomVariable zeroRate = getZeroRateFromForwardCurve ( time ) ; RandomVariable forwardBond = getDiscountFactorFromForwardCurve ( maturity ) . div ( getDiscountFactorFromForwardCurve ( time ) ) . log ( ) ; RandomVariable B = getB ( time , maturity ) ; RandomVariable lnA = B . mult ( zeroRate ) . sub ( B . squared ( ) . mult ( getShortRateConditionalVariance ( 0 , time ) . div ( 2 ) ) ) . add ( forwardBond ) ; return lnA . exp ( ) ; }
Returns A(t,T) where
\( A(t,T) = P(T)/P(t) \cdot exp(B(t,T) \cdot f(0,t) - \frac{1}{2} \phi(0,t) * B(t,T)^{2} ) \)
and
\( \phi(t,T) \) is the value calculated from integrating \( ( \sigma(s) exp(-\int_{s}^{T} a(\tau) \mathrm{d}\tau ) )^{2} \) with respect to s from t to T
in <code>getShortRateConditionalVariance</code>.

@param time The parameter t.
@param maturity The parameter T.
@return The value A(t,T).