https://9lib.org/document/zlgj0dry-numerical-methods-optimization-nonlinear-residual-sungrid-variational-identity.html