fortran使用MKL函数库求解普通稀疏矩阵与向量的乘积

使用MKL函数库中的mkl_dcsrgemv可以实现普通稀疏矩阵与向量的乘积
program main
        implicit none
        integer :: n, n1, ja(9), ia(7)
        real*8  :: a(9), x(6), y(6)
        character(len=1) :: transa = 'n'
        
        !|--------------------------MATRIX------------------------|
        !|1.0000         0         0         0         0         0|
        !|     0    0.7860         0         0         0         0|
        !|     0         0    0.6178         0         0         0|
        !|     0         0         0    0.4394         0    2.0000|
        !|     0         0         0         0    0.3817         0|
        !|     0         0         0    1.0000       1.3    0.3462|
        !|--------------------------MATRIX------------------------|
        
        a = [1.d0, 0.786d0, 0.6178d0, 0.4394d0, 2.d0, 0.3817d0, 1.d0, 1.3d0, 0.3462d0]
        ja = [1,2,3,4,6,5,4,5,6]
        ia = [1,2,3,4,6,7,10]
        
        x = [1,2,3,4,5,6]
        call mkl_dcsrgemv(transa, size(x), a, ia, ja, x, y)
        print*, y
        
end program main

 

你可能感兴趣的:(数值分析,MKL函数库,fortran,fortran,MKL)