IMSL 7.0 安装与使用

本篇主要介绍windows下IMSL7.0的安装,以及配合VS+IVF的使用(vs2013+ivf2013)。


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

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


VS设置

1. INCLUDELIB 设置

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

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

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

分别在上图Includes和Libraries中添加,IMSL的include和lib的路径,如下图
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

总结

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

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

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

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


参考资料

[1]. http://fcode.cn/guide-58-1.html
[2]. http://muchong.com/html/201312/6816700.htmlGoeGZUq

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值