From f0238cfb6997c4acfc2bd200de7295f3fa36968f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 3 Mar 2019 21:09:10 +0100 Subject: don't index Eigen --- .../unsupported/doc/examples/PolynomialSolver1.cpp | 53 ---------------------- 1 file changed, 53 deletions(-) delete mode 100644 eigen/unsupported/doc/examples/PolynomialSolver1.cpp (limited to 'eigen/unsupported/doc/examples/PolynomialSolver1.cpp') diff --git a/eigen/unsupported/doc/examples/PolynomialSolver1.cpp b/eigen/unsupported/doc/examples/PolynomialSolver1.cpp deleted file mode 100644 index cd777a4..0000000 --- a/eigen/unsupported/doc/examples/PolynomialSolver1.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -using namespace Eigen; -using namespace std; - -int main() -{ - typedef Matrix Vector5d; - - Vector5d roots = Vector5d::Random(); - cout << "Roots: " << roots.transpose() << endl; - Eigen::Matrix polynomial; - roots_to_monicPolynomial( roots, polynomial ); - - PolynomialSolver psolve( polynomial ); - cout << "Complex roots: " << psolve.roots().transpose() << endl; - - std::vector realRoots; - psolve.realRoots( realRoots ); - Map mapRR( &realRoots[0] ); - cout << "Real roots: " << mapRR.transpose() << endl; - - cout << endl; - cout << "Illustration of the convergence problem with the QR algorithm: " << endl; - cout << "---------------------------------------------------------------" << endl; - Eigen::Matrix hardCase_polynomial; - hardCase_polynomial << - -0.957, 0.9219, 0.3516, 0.9453, -0.4023, -0.5508, -0.03125; - cout << "Hard case polynomial defined by floats: " << hardCase_polynomial.transpose() << endl; - PolynomialSolver psolvef( hardCase_polynomial ); - cout << "Complex roots: " << psolvef.roots().transpose() << endl; - Eigen::Matrix evals; - for( int i=0; i<6; ++i ){ evals[i] = std::abs( poly_eval( hardCase_polynomial, psolvef.roots()[i] ) ); } - cout << "Norms of the evaluations of the polynomial at the roots: " << evals.transpose() << endl << endl; - - cout << "Using double's almost always solves the problem for small degrees: " << endl; - cout << "-------------------------------------------------------------------" << endl; - PolynomialSolver psolve6d( hardCase_polynomial.cast() ); - cout << "Complex roots: " << psolve6d.roots().transpose() << endl; - for( int i=0; i<6; ++i ) - { - std::complex castedRoot( psolve6d.roots()[i].real(), psolve6d.roots()[i].imag() ); - evals[i] = std::abs( poly_eval( hardCase_polynomial, castedRoot ) ); - } - cout << "Norms of the evaluations of the polynomial at the roots: " << evals.transpose() << endl << endl; - - cout.precision(10); - cout << "The last root in float then in double: " << psolvef.roots()[5] << "\t" << psolve6d.roots()[5] << endl; - std::complex castedRoot( psolve6d.roots()[5].real(), psolve6d.roots()[5].imag() ); - cout << "Norm of the difference: " << std::abs( psolvef.roots()[5] - castedRoot ) << endl; -} -- cgit v1.2.3