26     int ldl_solver_eigen(
const Eigen::MatrixXd& A, 
const Eigen::VectorXd& v, Eigen::MatrixXd& L, Eigen::VectorXd& D, Eigen::VectorXd& vtmp, Eigen::VectorXd& q)
 
   28         const int n = 
static_cast<int>(A.rows());
 
   32         if(A.cols()!=n || v.rows()!=n || L.rows()!=n || L.cols()!=n || D.rows()!=n || vtmp.rows()!=n || q.rows()!=n)
 
   35         for(
int i=0;i<n;++i)  {
 
   38                 for(
int j=0;j<=i-1;++j)
 
   39                     D(i) -= D(j)*L(i,j)*L(i,j);
 
   41             for(
int j=1;j<n;++j)  {
 
   45                         for(
int k=0;k<=i-1;++k)
 
   46                             L(j,i) -= L(j,k)*L(i,k)*D(k)/D(i);
 
   51         for(
int i=0;i<n;++i)  {
 
   54                 for(
int j=0;j<=i-1;++j)
 
   55                     vtmp(i) -= L(i,j)*vtmp(j);
 
   58         for(
int i=n-1;i>=0;--i) {
 
   61                 for(
int j=i+1;j<n;++j)
 
   67         for(
int i=0;i<n;++i)  {
 
   74             for(
int i=0;i<n;++i)  {
 
   75                 for(
int j=i+1;j<n;++j)  {