Matrix evaluation of the jacobian is working now but there is something wrong with the solver's view of the incidence matrix, or something, as it does seem to be acting on the values it's receiving.