Re: [eigen] problem computing kernel in eigen |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] problem computing kernel in eigen
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Tue, 26 Feb 2013 16:44:14 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type:content-transfer-encoding; bh=ZKmbuZMC91AnT6WBJtlFY6rsZQOTTpVSYcMUQ2FnFK8=; b=GaMJ5i6UovxtI8uiovEtSzFHJI7TmMTLusNk8LWHfcwuLNKFVaAJMAf1+LxFgT2b+P plDhtq9njsqCAxhdDkyJbSgTes/kwzP7g7TKjXlGN+HLEmlFPYPgzUKHSk72hFqmMqx/ X87wN/PTpJXWo+kUtTkIfxd9wGL2cNe5Gh31pq6OdfpUPZYU9LKDqWw+yDMqkRVMRRaq /JUm+96QBgFJ7KMee7kqyxiH9z4tJ029RAF6x6nwOQMMEdkIJoNCTKR++Cbue5VZ2CBn DAGONPizIS/1Sfg8/y8vLbQELi0RMX6qLkDAzo0iLyE6DRkNHjzmWGvdZFEKI3orF+He Q9eA==
Hi,
it seems you are using a quite old version of Eigen. In the 3.1
branch, adding internal:: sounds reasonable. I'll apply such a change.
In the devel branch, this should work just fine. Since we are going to
release soon 3.2-beta1, it would be very helpful for us if you could
give it a try. This is also a good way to make sure the next versions
will work fine for you! You just have to download the latest version
there: http://bitbucket.org/eigen/eigen/get/default.tar.bz2.
thanks,
gael
On Tue, Feb 26, 2013 at 4:09 PM, Vissarion Fisikopoulos
<vfisikop@xxxxxxxxx> wrote:
> Hello,
>
> I have a problem with a simple call to the kernel (function call
> fullPivLu().kernel() ) of an Eigen::Matrix<NT,Eigen::Dynamic,Eigen::Dynamic>
> . This works for many different instantiations of NT, like mpq_class. The
> problem is when I try to use a rational number type from the CGAL library,
> CGAL::Gmpq. I get the following error from the compiler:
>
> /usr/include/eigen3/Eigen/src/LU/FullPivLU.h:595:7: error: call of
> overloaded ‘abs(const Scalar&)’ is ambiguous
>
> The error is fixed by replacing
>
> if(abs(dec().matrixLU().coeff(i,i)) > premultiplied_threshold)
>
> with
>
> if(internal::abs(dec().matrixLU().coeff(i,i)) > premultiplied_threshold)
>
> in line 595 of /usr/include/eigen3/Eigen/src/LU/FullPivLU.h
>
> Do you think this is a bug?
>
> Best,
> Vissarion Fisikopoulos.
>
>