function A = propagate(A, derivativeProvider) A(1) = A_x = A_s A(2) = A_y = A_f assumed A is in vaccum, output also in vacuum