use solver factory in eigen_s