Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

CALL dGETRF problem

benzandbuick
Beginner
371 Views
Hi,
CALL dGETRF(N,N,A,N,IPVT,info);
CALL dGETRS('N',n,1,a,n,ipvt,b,n,info);
I use the above two subroutines from MKL to calculate Ax=b im my simulation program,the two subroutines are called up to 2,000,000 during the simulation. The program runs well.But, sometimes i cannot get correct solution,the elements in the solution(b) are becoming bigger and bigger. Then, I try other subroutines for the same simulation program, for example DG2RES from IMSL,the solution is good and simulation result seems reasonable.
I want to know whether dGETRF has some restriction when we use it to solve Ax=b.I mean, some restriction on "A". In my simulation, "A" is a sparse matrix.Personally,Pardiso in MKL may be suitable for my problem,but i am not sure.Could someone give me some advice?
Thank you!

0 Kudos
1 Reply
Gennady_F_Intel
Moderator
371 Views

Hello,

There at least two problems in your case:First of all: PARDISO is more suitable for calculation of sparse linear equations and you can try to use this solver.

Another problem you cannot get the correct result!

We are expecting that Lapack functions will produce the correct results independently on sparse or density matrixes they are processing.

One of the reasons why you met the problem is ill-conditioned matrix you are processing. Did you check the condition number for your input?

Moreover, I mean that the ill-conditioned problem can't get a satisfied result by PARDISO as well.

--Gennady

0 Kudos
Reply