1. Yes, AAD is mathematically rigorous (see the 2008 book by Griweank and Walther). Regarding underlying assumptions, it depends on which approach is used: "discretize-and-differentiate" or "differentiate-then-discretize". If one uses the first approach, "discretize-and-differentiate", then no additional assumptions are needed. 2. I do not have yet other examples of AAD in quant finance, but I will have them soon. You may also take a look at the examples in the papers by Giles and Capriotti. AAD was employed in other areas, such as computational fluid dynamics or meteorology, and examples in those areas are presented in various papers at
www.autodiff.org3. u_dot corresponds to "tangent linear" variable. Essentially it comes from differentiation of the original code line by line. In particular, equation 4.1 is obtained by differentiating the middle equation in the PDE discretization. Differentiating the first and third equations imply u_dot(k+1,1) = 0 and u_dot(k+1,N) = 0, but I have not put them in Eq. 4.1 (these equations are only included in matrix representation given by Eq 4/2). It is better to also put them as part of Eq 4.1, for additional clarity, and the next revision will contain this. (4.2) is the matrix representation of Eq (4.1). Eq (4.3) is the matrix representation of the equation obtained by differentiating the line containing the definition of the cost functional: F = sum(u(M,j)-Y(j)^2. If we differentiate it, then we have F_dot = 2*sum(u(M,j)-Y(j))*u_dot(M,j) which can be written in matrix form as shown in Eq (4.3)Here is how it works for u(x;a,b) = exp(- ax/b).Let's say that we want to compute derivatives wrt a and bThen tangent linear code is u_tglin = exp(-ax/b) * (-x/b)*a_tglin + exp(-ax/b) * (ax/b^2)*b_tglinAdjoint code is a_adj = exp(-ax/b) * (-x/b)* u_adjb_adj = exp(-ax/b) * (ax/b^2)*u_adj