perturbation analysis