I'm using Newton-Raphson to solve a set of nonlinear equations in an optimization problem. At the optimal, the Jacobian is singular (and I know this to be true) - it's about a 100x100 matrix and 3 of the rows are zeros.

Obviously, to perform the matrix inversion of the Jacobian I need it to be full-rank (Really want to avoid doing pseudoinverses or anything of the sort), but once one of the variables corresponding to the row of 0's reaches its optimal (0), the matrix cannot be inverted.

Any ideas how to get around this problem? i thought about damping the Newton step so that these variables will be the last to reach their optimal value and by then the convergence criteria would be within its limits...but I'm not sure if this makes sense.