Re: [eigen] A not so simple product |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] A not so simple product
- From: "Benoit Jacob" <jacob.benoit.1@xxxxxxxxx>
- Date: Thu, 11 Dec 2008 12:19:15 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=6qnQK7wWResyNKTFFQ9l9FUIyV5eg1dk5NCFCVbhKvg=; b=kII06EktQJzilFzJYdaIEBVWFkRhFI59SKkIsLBo5PfPUBsuLAV2TuzH45BhZ88WVU ODSMgAmNKPncmJK4820okSgu3xPQr83MzY79A/4RzUpTcEuJ1J0nUiGNB5MJuEeKXhMI Msmdd7klDFtfF4ZWixClygP5IFOLXjuWZI1V8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=iwKroa1VE47Vc7kAlaRYw5zaS3HLqg4bHX2RjKg8vnYycGFnP37wl89m035y2/sEkB Rr6m13GNGgv5l4FgSJxn+X1b8PzGhe/FceiVdpl2IQxfwUdJ8i3yXAPJHFr/J/oP4PjZ p88PFnhBpV8yFW7GoPi5heWmXywA5HowjXfKI=
Yes, I confirm that the bug in my example (with the eigenvectors) is fixed too!
Thanks,
Benoit
2008/12/11 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> Benjamin: the segfault you found should be fixed in trunk (no vectorization
> yet).
>
> Benoit: yesterday I did not take the time to check your example, but it
> seems that my last commit also fixed that one.
>
> cheers,
> Gael.
>
> On Wed, Dec 10, 2008 at 3:46 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> I just discovered yet another bug in diagonal product. This part of
>> Eigen is really very buggy!!
>>
>> To grade my exam I made this program:
>>
>> #define EIGEN_DEFAULT_IO_FORMAT EIGEN_DOCS_IO_FORMAT
>> #include <Eigen/QR>
>>
>> using namespace Eigen;
>> using namespace std;
>>
>> int main()
>> {
>> Matrix3d A;
>> A << 0,1,1,
>> 1,0,1,
>> 1,1,0;
>> SelfAdjointEigenSolver<Matrix3d> s(A);
>> cout << "Eigenvalues:" << endl << s.eigenvalues() << endl;
>> cout << "Eigenvectors:" << endl << s.eigenvectors() *
>> (s.eigenvectors().row(2).cwise().inverse().asDiagonal()).eval() <<
>> endl;
>> }
>>
>> This program produces the correct result.
>>
>> But if I remove the .eval() it produces the wrong result.
>>
>> Fixing diagonal product is really my top priority in eigen.... will
>> take me a while though as a first have to grade 400 exams.
>>
>> Cheers,
>> Benoit
>>
>> ---
>>
>
>
---