#include #include #include #include #include #include #include #include #include #include #include #include const double PI=4.0*atan(1.0); using namespace std; void SetVectorCoefficients(int M,Eigen::VectorXcd& y){ // Make up some stupid vector y int i; complex ci(0.0,1.0); complex c=(1.0+ci)/sqrt(2.0); for(i=0;i ci(0.0,1.0); B.setZero(); for(i=0;i esolver(B); Eigen::MatrixXcd Udagger(M,M); // eigenvectors Eigen::VectorXcd lambda(M); // eigenvalues Udagger=esolver.eigenvectors(); lambda=esolver.eigenvalues(); cout << "---- Eigenvectors:\n"; std::cout << std::fixed << std::setprecision(5) << Udagger << std::endl; cout << "---- Eigenvalues:\n"; std::cout << std::fixed << std::setprecision(5) << lambda << std::endl; Eigen::VectorXcd V(M),W(M); for(int i=0;i norm; for(i=0;i