Re: [eigen] WG: Problem with compiling sparse matrix solver |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] WG: Problem with compiling sparse matrix solver
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Mon, 25 Jun 2012 09:56:19 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; bh=3OQMsKEMyJBu8NlBRbd0V7boF8jVf7YbEY3O9t3rIyM=; b=LHZGY5UmrJDh104ppsWMQqHb/ulZ9aqvNUFmaDxIoBi+ltCUop5zeGzpzc1XPV89Xb T38LaAy+XJABITikjAmC2aDUWBhMhNonlXaKJYxd0sQN7gKxPzNx6hwe625w2vRY+4aF s27pJ2m9KfY0EgQq+fSXW096Jv04dzACpuCnf++scv/AxOUQOFvggam0o1fHU4H+yn8h v/G9XInNIkgSmXE2Z5Bnds2ShnRut8wrfSrb5wzTahVjvfyfRY1/4u3UqNZNRS/YbtlN 3ZPe4XOJYZ5YdZxtCVmm/Msymve++jPe2MywbmZcSVKbsh+g/z9JuQMrSXNSJOLB/sYe isRQ==
Yes the code snippet looks correct though I strongly recommend you to
switch to 3.1 which includes officially supported sparse modules. In
your case this implies to remove the DynamicSparseMatrix temporary
which does not exist anymore (except in unsupported/Eigen/SparseExtra)
and use a simple triplet list for the assembly. Then use
SimplicialLDLT instead of SparseLDLT.
gael
On Sun, Jun 24, 2012 at 4:45 PM, Zofka, Marc René
<marc.broghammer@xxxxxxxxxxxxxxx> wrote:
> Ah ok,
>
> now i understand your hints. I will have a look at these points at work tomorrow and answer instantly.
> Nevertheless the code snippet seems to be correct to you, doesn’t it?
>
> With best regards,
>
> Marc
>
> -----Ursprüngliche Nachricht-----
> Von: Gael Guennebaud [mailto:gael.guennebaud@xxxxxxxxx]
> Gesendet: Sonntag, 24. Juni 2012 10:36
> An: eigen@xxxxxxxxxxxxxxxxxxx
> Betreff: Re: [eigen] WG: Problem with compiling sparse matrix solver
>
> It would also be interesting to know which boost header files are included such that we can reproduce the issue.
>
> thanks,
> gael
>
> On Sun, Jun 24, 2012 at 10:16 AM, Gael Guennebaud <gael.guennebaud@xxxxxxxxx> wrote:
>> Hi,
>>
>> maybe you could try to include Eigen's header first, i.e., before the
>> boost's headers.
>>
>> gael
>>
>> On Sun, Jun 24, 2012 at 8:58 AM, Zofka, Marc René
>> <marc.broghammer@xxxxxxxxxxxxxxx> wrote:
>>> Hi Gael,
>>>
>>> first of all thanks for your answer.
>>> I am using the latest stable Eigen Version 3.0.5. But I am sorry, I do not understand your second issue.
>>> The problem is, that I am working on a multi-developer project and I
>>> do not use boost for my own codes (although there could be some
>>> dependencies). So what do you mean with "a using namespace
>>> boost::..."?
>>>
>>> So it should be working, if am using the coming soon 3.1? Because the
>>> code snippet seems to be correct in syntax and semantics.
>>>
>>> With best regards,
>>>
>>> Marc
>>>
>>>
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Gael Guennebaud [mailto:gael.guennebaud@xxxxxxxxx]
>>> Gesendet: Samstag, 23. Juni 2012 21:24
>>> An: eigen@xxxxxxxxxxxxxxxxxxx
>>> Betreff: Re: [eigen] WG: Problem with compiling sparse matrix solver
>>>
>>> Hi,
>>>
>>> this looks like a name clash with boost. What's your Eigen version?
>>> The reported line numbers does not match with the 3.1 version.
>>>
>>> Also, don't you have a using namespace boost::accumulators::extract??
>>>
>>> cheers,
>>> gael
>>>
>>> On Fri, Jun 22, 2012 at 8:18 PM, Zofka, Marc René <marc.broghammer@xxxxxxxxxxxxxxx> wrote:
>>>> Hi Guys,
>>>>
>>>> ive got a problem compiling the following source with MS VS Compiler:
>>>>
>>>> --------------------------------------------------------------------
>>>> --
>>>> ------------- Eigen::SparseMatrix<float> sparse = l; // l is
>>>> DynamicSparseMatrix
>>>>
>>>> Eigen::SparseLDLT<Eigen::SparseMatrix<float > > ldlt;
>>>> ldlt.compute(sparse); Eigen::VectorXf that = ldlt.solve(t);
>>>> --------------------------------------------------------------------
>>>> --
>>>> ------------------
>>>>
>>>> I get the error:
>>>>
>>>> 2>...\externallibs\eigen\eigen\src\geometry\alignedbox.h(114): error
>>>> 2>C2872: 'min' : ambiguous symbol
>>>> 2> could be 'min'
>>>> 2> or 'c:\includes\boost\boost\accumulators\statistics\min.hpp(76) : const boost::accumulators::extractor<Feature> boost::accumulators::extract::min'
>>>> 2> with
>>>> 2> [
>>>> 2> Feature=boost::accumulators::tag::min
>>>> 2> ]
>>>> 2> or 'min'
>>>> 2>
>>>> 2>...\externallibs\eigen\eigen\src\geometry\alignedbox.h(304)
>>>> 2>: see reference to class template instantiation
>>>> 2>'Eigen::AlignedBox<_Scalar,_AmbientDim>' being compiled
>>>> 2>...\externallibs\eigen\eigen\src\geometry\alignedbox.h(118): error
>>>> 2>C2872: 'max' : ambiguous symbol
>>>> 2> could be 'max'
>>>> 2> or 'c:\includes\boost\boost\accumulators\statistics\max.hpp(76) : const boost::accumulators::extractor<Feature> boost::accumulators::extract::max'
>>>> 2> with
>>>> 2> [
>>>> 2> Feature=boost::accumulators::tag::max
>>>> 2> ]
>>>> 2> or 'max'
>>>>
>>>>
>>>> It seems to be a API internal error, isnt it?
>>>>
>>>> With best regards,
>>>>
>>>> Marc
>>>>
>>>>
>>>
>>>
>
>