您的位置:首页 > 其它

IMSL 7.0 安装与使用

2016-03-26 21:58 786 查看
本篇主要介绍windows下IMSL7.0的安装,以及配合VS+IVF的使用。

IMSL简介

是一个函数库集合,通过对其的调用,简化数值计算程序的编写。

IMSL安装

1. 首先下载IMSL7.0,包含32与64位

链接: http://pan.baidu.com/s/1skUC9T7 密码: wkxg。(自行添加后缀名.zip)

2. 双击 最后一级目录 下的setup.exe安装

(别的貌似也打不开)

注册码填 201111;

license文件我从网上下了一个,貌似用不到;

我选择的是_nocuda那个文件夹下的,32位和64位的安装都没有问题。(不知道带不带_nocuda有什么区别,谁知道的说一声)。

3. windows环境变量设置

上一步安装完成后,环境变量应该自己已经设置好了,不过也可以自己检查一下。

在这里

INCLUDELIB



ps.这个貌似配合VS+IVF使用时不需要,但是其他编译器可能需要,所以最好一并设置了。

VS设置

1. INCLUDE 和LIB 设置

VS菜单栏,工具(T) => 选项(O),设置如下图



win32对应 $你的安装根目录\VNI\imsl\fnl700\winin111i32

win64对应 $你的安装根目录\VNI\imsl\fnl700\winin111e64

分别在上图Includes和Libraries中添加,IMSL的include和lib的路径,如下图





对应的,再填上win64位的就好了。

ps:注意这里C:\前不需要$。

2. 程序测试

这里摘取IMSL手册中第一个求解线性方程组的例子进行测试。

include 'link_fnl_shared.h'
use lin_sol_gen_int
use rand_gen_int
use error_option_packet
implicit none
! This is Example 1 for LIN_SOL_GEN.
integer, parameter :: n=32
real(kind(1e0)), parameter :: one=1e0
real(kind(1e0)) err
real(kind(1e0)) A(n,n), b(n,n), x(n,n), res(n,n), y(n**2)
! Generate a random matrix.
call rand_gen(y)
A = reshape(y,(/n,n/))
! Generate random right-hand sides.
call rand_gen(y)
b = reshape(y,(/n,n/))
! Compute the solution matrix of Ax=b.
call lin_sol_gen(A, b, x)
! Check the results for small residuals.
res = b - matmul(A,x)
err = maxval(abs(res))/sum(abs(A)+abs(b))
if (err <= sqrt(epsilon(one))) then
write (*,*) 'Example 1 for LIN_SOL_GEN is correct.'
end if
end


总结

IMSL下载困难,到处都找不到;

前面安装配置简单,最后测试时从网上的一些教程直接拷贝测试代码,但是那些代码多比较老旧,可能无法运行,这时配置其实没有问题。比如,use IMSL在7.0是编译不过的,需要换成use numerical_libraries;

从手册中拷贝的代码编译通过,运行出错,提示“LNK2019:无法解析的外部符号……”,这里不是配置问题,而是缺少 include ‘link_fnl_shared.h’ ,补上就好。添加之后还出错,那可能真的是lib配置出了问题,重新查找吧;

不行的时候,重启一下试试。

参考资料

[1]. http://fcode.cn/guide-58-1.html

[2]. http://emuch.net/html/201312/6816700.htmlGoeGZUq
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: