求助MKL库求解三对角矩阵
我在调用库函数DDTTRSB求解三对角矩阵的时候(满足对角占优),发现求解结果不对,可能是我对该函数的参数理解错误(尤其DL,D,DU的形式),求帮忙解答下,谢谢。代码如下:
PROGRAM MAIN
IMPLICIT NONE
INTEGER num
PARAMETER (num = 5)
INTEGER INFO
REAL(8) A(1:3*num-2)
REAL(8) B(1:num,1)
A(1) = 2.0000; A(2) = 1.0000;
A(3) = 0.3571; A(4) = 2.0000; A(5) = 0.6429;
A(6) = 0.6000; A(7) = 2.0000; A( 8) = 0.4000;
A(9) = 0.4286; A(10) = 2.0000; A(11) = 0.5714
A(12) = 1.0000; A(13) = 2.0000
B(1,1) = 5.5200; B(2,1) = 4.3144; B(3,1) = 3.2661; B(4,1) = 2.4287; B(5,1) = 2.1150
INFO = -1
CALL DDTTRSB('T', num, 1, A(3:13:3), A(1:13:3), A(2:13:3), B, num, INFO)
WRITE(*, *) INFO
END PROGRAM MAIN
4年过去了,楼主应该已经解决了,不过还是借楼回答一下,以帮助后来者
包括ddttrsb在内的解方程组的函数,其输入的DL,D,DU并不是原始矩阵,而是A进行LU分解后的结果。
应该先调用ddttrfb进行LU分解,将其输出的结果作为ddttrsb的输入
页:
[1]