|[eigen] Eigenvalue solving and balancing|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] Eigenvalue solving and balancing
- From: Ian Bell <ian.h.bell@xxxxxxxxx>
- Date: Sun, 2 Apr 2017 21:57:15 -0600
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=t/DAlnyyFutC1NsthmSVRR3ZMdhid0vXYhLGsUOGMzc=; b=Uwc0bjm8MQ1diG2ryyNsQZRHoU9SM0UdCMzfUCi1QEPHswlj2XGkZA1znFX+NUenAl B6b2xRw/TEaglyFf5fxTElOGZdxWnuyVd3XKrh1qV+wN1O0N+ejRVYN8gciewOPPAEHh NxewdG8rclo3C3vASbwIuV4ZtLgCaNd/cdZHgLQDLaAhX5hCrFFFqbb7PZPgI4jKoxZd vMG2cqD24om6/f632mHrtyspk2PwnHxLTuFsg7qGdvDlwFdRy9R+o9uNrp9G2xqkUfnn CXOIuruL3r0XTA9XHu2qVnYicZSQk7m4XgCT2ZF5WNfg4BS7mKS+zAymuNupnCVoCbBO g/ew==
So it turns out that balancing the matrix prior to taking the eigenvalues is absolutely crucial (for my problem at the very least).
I rapidly came to this conclusion after giving up on Eigen's eigenvalue solver due to the terrible eigenvalues that I was obtaining due to the ill-conditioning of the matrix. Numpy crucially does
balance the matrix prior to eigenvalue solving. I would recommend that a method like the attached in my stack overflow question be made available : http://stackoverflow.com/a/43169781/1360263
. I'm not sure what the protocol is for PR (I don't use mercurial), and I am sure my solution needs a bit more templating magic, but without this, the eigenvalues from Eigen are useless for some challenging eigenvalue solving problems.