I need to find the root of a nonlinear system (which comes out of collocation, so I will change the order to test).  I will likely have about 50-300 variables, and the Jacobian is going to be somewhere between 1/9 and 1/2 dense, and calculated using auto-differentiation.What do people suggest for the linear system of this type?  I know about trilinos, petsc, and sundials, but don't know the other alternatives or have exposure to them.  I realize that the large solvers are overkill due to the relative lack of sparsity in the example, but can it hurt?My preference is for a C++ style interface, but I can deal with C if necessary.
Suggestions for open source C++ library for medium scale non-linear solver
c++;libraries;solver
I am a PETSc developer so take my suggestion with a grain of salt, but I would use PETSc becausethe problem sizes are large enough that execution overhead should be minimal,you can trivially switch between various sparse and dense solvers (1/2 sparse should be treated as dense, but it might pay off to use a sparse solver for 1/9 at your sizes),a suite of globalization techniques quick experimentation, which is important for difficult problems, andyou get monitoring and debugging tools so you can debug and understand convergence without writing your own scaffolding.