Re: [eigen] 64 bit support on umfpack

[ Thread Index | Date Index | More Archives ]

Thank you, Sameer and Christoph.

I am quite new to OOP and eigen. I somehow got my code work by replacing all di by dl and all int by SuiteSparse_long. Thank you for pointing out that I can directly call external libraries. I guess this would be the most robust way without the limitation of the predefined wrappers. 


On Tue, Oct 28, 2014 at 9:12 AM, Christoph Hertzberg <chtz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
On 27.10.2014 18:52, Zhexuan Zhang wrote:
I am trying to solve large size sparse linear system using umfpack. In

As Sameer already responded, you can directly call the umfpack routines (this also gives you more control on the settings).

UmfPackSupport.h, it only has implementations on "di" and "zi" mode, but
not "dl" and "zl" mode. This causes failure when I try to solve large size
problem. I am not a C++ expert. I tried to edit the .h file but no success.
Does anyone know how to force the "dl" mode? If anyone can send me a .h
file that has "dl" mode enabled, it is greatly appreciated.

Basically, what is required is to overload the umfpack_* methods in UmfPackSupport.h, with SuiteSparse_long instead of int and l instead i in the names of the called methods. To avoid code duplication, I recommend using some macros similar to EIGEN_MKL_LU_PARTPIV in src/LU/PartialPivLU_MKL.h

Then inside UmfPackLU all int which refer to indexes must be replaced by Index.


Dipl.-Inf., Dipl.-Math. Christoph Hertzberg
Cartesium 0.049
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen

Tel: +49 (421) 218-64252

Mail converted by MHonArc 2.6.19+