I'll make a plug for software I wrote based on sequential quadratic programming. It performs significantly better than inverse Jacobian methods in the presence of high-dof and joint limits. Here's a link to the software and paper: https://bitbucket.org/traclabs/trac_ik