Fortran Coder

查看: 5599|回复: 2
打印 上一主题 下一主题

[数学库] 关于调用MKL的dsyev问题。

[复制链接]

799

帖子

2

主题

0

精华

大宗师

F 币
3797 元
贡献
2270 点
楼主
发表于 2020-6-19 01:04:58 | 显示全部楼层
两种方案,1、增大lworks,比如 10;
2、用f95接口,call syev(arr1,value)

[Fortran] 纯文本查看 复制代码
program hello
    use lapack95
    Real*8:: arr1(2,2)
    Integer:: info
    Real*8:: value(2)
    Real*8, allocatable:: works(:)
    Integer:: lworks
    !
    value = 1.
    arr1(1,1) = 2.08333333339971
    arr1(2,2) = 3.08333333342553
    arr1(1,2) = 2.50000000007744
    arr1(2,1) = 2.50000000007744
    lworks = 10
    allocate(works(10))
    call dsyev("V", "U", 2, arr1, 2, value, works, lworks, info)
	!call syev(arr1,value)
    print*,  value
    deallocate(works)
	pause
    end program hello

捕获.PNG (78.27 KB, 下载次数: 170)

捕获.PNG
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-9 20:33

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表