Great to hear. Thanks for the update.

On Fri, Jul 9, 2021 at 11:40 PM 张瑞 <[email protected]> wrote:

> thanks for your help. I fixed the problem!
>
> best regards!
>
>
>
> -----原始邮件-----
> *发件人:*"Rasmus Munk Larsen" <[email protected]>
> *发送时间:*2021-07-10 00:47:00 (星期六)
> *收件人:* [email protected]
> *抄送:*
> *主题:* Re: Re: [eigen] dense matrix multiplication
>
> Sorry, I had a typo. I meant UNsetting the macros for enabling external
> BLAS libraries. :-)
>
> On Fri, Jul 9, 2021 at 1:20 AM 张瑞 <[email protected]> wrote:
>
>> dear Rasmus,
>>
>> thanks for your reply, I tried to add the code  #define EIGEN_USE_BLAS,
>> but it still doesn't work.
>>
>> and I found actually multiplication was done, it failed to assignment to
>> the x matrix
>>
>>
>> if the code is like this , it can be compiled successfully:
>>
>> Matrix<double,8, 8>  b;
>>
>> Matrix<double, 8, 1>  l;
>> Matrix<double, 8, 1>  x;
>> b.Zero();
>> l.Zero();
>> b*l;
>>
>>
>> -----原始邮件-----
>> *发件人:*"Rasmus Munk Larsen" <[email protected]>
>> *发送时间:*2021-07-09 04:57:30 (星期五)
>> *收件人:* [email protected]
>> *抄送:*
>> *主题:* Re: [eigen] dense matrix multiplication
>>
>> It looks like your build of Eigen is set up to call the function gemv_ an
>> external BLAS library for large matrices, possibly by setting the macro
>> EIGEN_USE_BLAS. See the documentation here:
>> https://eigen.tuxfamily.org/dox/TopicUsingBlasLapack.html
>>
>>
>> On Thu, Jul 8, 2021 at 2:57 AM 张瑞 <[email protected]> wrote:
>>
>>> dear all,
>>>
>>>
>>> I'm a new user of Eigen, I want to get the multiplication of two
>>> matrix, and met a confusing problem, and the code is as bellows(for
>>> simplicity, all values are set to 0):
>>>
>>>
>>> Matrix<double,8, 8>  b;
>>> Matrix<double, 8, 1>  l;
>>> Matrix<double, 8, 1>  x;
>>> b.Zero();
>>> l.Zero();
>>> x = b*l;
>>>
>>>
>>> Compiled under the windows platform and vs2019 environment, there is a
>>> fatal error LNK1120:
>>>
>>> " Unresolved external symbol _dgemv,funticon "public: static void
>>> __cdecl
>>> Eigen::internal::general_matrix_vector_product_gemv<int,double,1,0,double,0>::run(int,int,double
>>> const *,int,double const *,int,double *,int,double)" (?run@
>>> ?$general_matrix_vector_product_gemv@HN$00$0A@N$0A@@internal@Eigen
>>> @@SAXHHPBNH0HPANHN@Z) "
>>>
>>>
>>> But if I Reduce the matrix dimension, it works, like:
>>>
>>> Matrix<double,4, 4>  b;
>>> Matrix<double, 4 1>  l;
>>> Matrix<double, 4, 1>  x;
>>> b.Zero();
>>> l.Zero();
>>> x = b*l;
>>>
>>> very grateful for your help, thank you!
>>>
>>>

Reply via email to