导航:首页 > 源码编译 > imsl源码

imsl源码

发布时间:2022-09-24 03:41:55

① 关于fortran子程序的提问

1 bessel函数你可以直接调用IMSL的函数,详见vni官网
http://www.vni.com/procts/imsl/documentation/fort06/sfun/NetHelp/default.htm
不用找开源。

2 legendre多项式常用的是前几阶。既然是多项式,只要知道其系数,在程序里定义成常量使用就可以了。系数在网上可以搜到。

② IVF+VS 的库函数有msimsl吗

通常来说,函数库的主要内容是两部分:include 和 lib ,使用函数库的所有问题,都是让编译器正确的识别 include 和 lib。

在使用函数库以前,到安装目录下了解一下函数库的组成是很有必要的。(各函数库的版本可能有差异,切记不可完全照这教科书来做,包括本文)

1. include 它告诉编译器,我们使用到的这些函数是什么,需要多少个参数,每个参数是什么类型,返回什么值。它的作用就像 Interface 接口一样。它没有函数内部如何实现的说明,只有接口!

对于 Fortran 函数库,通常 include 里包含的都是 *.mod 文件,有些也包含 *.f90 文件(源代码方式声明接口)。

2. lib 链接器在链接成最终可执行文件时,需要把 lib 中的函数库一起链接。它是函数内部的实现,是函数的实际作用体,也是可执行代码。

举一个生活中的 include 和 lib 的例子:
比如你买了一个工具箱(函数库),你需要翻阅它的目录(include )来了解这里面哪个工具可以做什么,哪些工具需要电源,电源是否是220V?哪些工具需要加水?这些工具各自的作用是什么?(函数的输入输出)。
当你需要实际使用到某个工具时,你才会去寻找真正的它(lib),并把它拿到自己身边来(链接)。

除了这两个重要的组成部分之外,一些函数库还会有:
3. examples 或 test / code / demo 一类的,用于示范函数库的使用(但是它没法示范如何操作,如何设置编译环境)
4. document 或 doc / help ,这是函数库的说明书。里面的 how to us 章节也对它的使用有指导作用。
5. bin ,个别函数库具有一些可执行的工具,通常存放在这里。
6. src ,开源函数库通常会有源代码,存放在这里。(IMSL 和 MKL 均不开源).

③ 安装了MPI,可是Fortran仍然不能识别use mpi

个人经验啊,你要确定一下你的编译器的设置是否包含mpi的头文件目录,
options/directories 有没有你安装的mpi目录
.../mpich/sdk/include

.../mpich/sdk/lib
而且在你的工程里面要有
ws2_32.lib和mpich.lib这两个库

我没用过windows下的mpi啊,个人觉得还是在linux下比较好。

④ [求助]fortran如何进行二维插值

你说的 应该属于平滑问题 在f里不好弄 1维好说 你说的是2维 3次样条是最好的 不过 你可以用 matlab 其中里面的库函数interp2()中的spline参数就可以很好的完成你的要求 但是我现在对于interp2的源码还没有,所以对于他是怎么平滑的还是不清楚 希望可以帮上你

⑤ pgi visal fortran 怎么使用IMSL库

如果要用IMSL,那必须使用独立安装版本的IMSL。因为两个都可以绑定到VS,所以应该可以使用的:)

⑥ 用Fortran编写程序输出的数据一般用什么程序作图比较好

现在64位的计算机已经越来越普遍了,Intel公司的CORE处理器也从酷睿双核升级为i3、i5直到现在的主流i7,微软的Windows 7系列的64位系统用起来感觉也挺不错的。但正是这64位,最近给我但来了些许的纠结。本文结合今天自己学习Intel Visual Fortran(以下简称IVF)的内容,分析了IVF的优势、相关软件的安装要求、从Compa Visual Fortran(以下简称CVF)向IVF的转换以及IVF下简单Fortran计算程序的编译执行的操作过程,以期能对碰到类似情况者提供点思路。
IVF较之CVF优势:
我的戴尔Inspiron系列机子是64位,Windows 7系统也是64位的。在我的硕士研究生阶段学习中需要用到Fortran程序设计语言,以前我习惯使用CVF来编写、调试和运行Fortran程序,但现在看来不行了。CVF不支持64位,因为2005年以前Fortran 90/95 的Win32 开发环境多采用Compaq Visual Fortran 6.x,但在2005年CVF 开发团队加盟到Intel 公司,HP 宣布其CVF6.6 截至2005年12月31日,IVF9.0 将作为其新一代后继编译器。
IVF是在CVF的基础上开发的Fortran编译器,它将CVF 前端与英特尔处理器后端相结合,拥有CVF 丰富的语言功能和英特尔处理器的代码生成及优化功能,使运行在英特尔平台上的程序能得到大幅度提高。而且随着计算规模的增大,对计算内存的要求必须采用64位的程序才能够满足我们的要求,但CVF没有提供64位系统的编译平台。另外程序并行功能的实现可以用Intel的MKL所提供的函数库,这些函数库采用了共享内存并行计算的OpenMP,但以前的CVF没有提供对OpenMP的支持,所以无法调用MKL的并行函数库。所以,从CVF6.x转移到IVF9.0已是势在必行,选用IVF来Fortran编译程序也是很有必要的。
IVF相关软件的安装说明:
在使用CVF6.5/6.6编写运行Fortran程序时,只需要安装Compaq Visual Fortran6.5/6.6即可。这是因为在这个安装源程序中,Visual Fortran已经被组合(集成)在Microsoft Visual Studio(以下简称VS)的图形接口开发环境中了,所以可以直接安装使用。这与VC/VC++类似,故用户看到的CVF程序编写界面与VC/VC++的基本是一致的。
而采用IVF来编写运行Fortran程序则稍微麻烦些。网上下载到的Intel Visual Fortran Compiler10/11版本都只是编译器,它需要放到集成开发环境(Integrated Development Environment,以下简称IDE)中去才能使用。故而IVF Complier还需要VS6.6以上版本的IDE的支持,所以必须事先安装好VS后,才能安装编译器。我就是在安装VS2005后再安装IVF10的。具体安装方法参见本文后的链接部分说明。
IVF与CVF的兼容性:
IVF 编译器支持所有的CVF 语法,包括Digital Equipment Corporation(DEC) Fortran和Microsoft Fortran PowerStation 4.0 的语言扩展;支持所有的CVF库例程,包括可移植库,QuickWin以及所有的系统接口模块。
IVF 不支持的CVF特征有:
(1)Compaq Extended Math Library(CXML)。可以使用Intel Math Kernel Library 或IMSL、NAG 等第三方数学库来替换。
(2)跨引用的源代码浏览器。
(3)COM服务器向导。假如要转换由CVF的COM服务器向导创建的组件工程,需要在IV下重新构建;假如要调整组件接口,比如增加新的接口,则需要在CVF下进行。
从CVF向IVF的转换:
由CVF 转换到IVF,所有的Fortran源文件都需要在IVF下重新编译。IVF编译器不能直接使用CVF编译的对象、模块和静态链接库;但只要不在两个环境下共享输入/输出单元,IVF编译的应用程序可以使用CVF 建造的动态链接库。
大多数情况下无须改变Fortran源文件,只在IVF下重新建造现存的CVF工程即可;但有些工程需要改变小量源代码,有些则需要对建造方法做出适当调整。
IVF编译器提供有工程转换向导,以方便CVF向IVF的转换。转换可以分两步进行:
(1)打开CVF项目空间。可以直接双击CVF项目空间(*.dsw)打开之(如图1所示文件)。

图1
在随后出现消息框,如图2,点击“全是”按钮,将CVF 项目空间下的每一项工程转换为IVF 解决方案下对应的Visual C++.NET 工程。

⑦ Fortran如何实现文件操作的OPEN/CLOSE/READ/WRITE文件操作命令功能用法。

FORTRAN简介
FORTRAN是英文“FORmula TRANslator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

FORTRAN开发历史
早在1951年,美国IBM公司约翰·贝克斯(John Backus)针对汇编语言的缺点着手研究开发FORTRAN语言,并于1954年在纽约正式对外发布。称约翰·贝克斯提出的FORTRAN语言为FORTRANⅠ,FORTRANⅠ虽然功能简单,但它的开创性工作,在社会上引起了极大的反响。到1957年第一个FORTRAN编译器在IBM704计算机上实现,并首次成功运行了FORTRAN程序。
在1958年,对FORTRANⅠ进行了扩充和完善,引进了子函数等概念,推出了商业化的FORTRANⅡ版本。之后,FORTRAN语言发展迅速,多种版本相继在其它计算机上实现。
在1962年,推出了FORTRAN Ⅳ。FORTRAN Ⅳ没有充分考虑兼容性,导致FORTRANⅡ程序不能在FORTRAN Ⅳ系统中运行,使其应用受到了很大限制,这时语言不兼容性问题和影响被突出表现出来。此前也出现过FORTRAN Ⅲ,但由于存在严重缺陷,没有在计算机上实现。
随着FORTRAN语言版本的不断更新和变化,语言不兼容性问题日益突出,语言标准化工作被提上了日程。1962年5月,美国标准化协会(简称ANSI)成立相关机构着手进行FORTRAN语言标准化的研究工作,并于1966年正式公布了两个标准文本:美国国家标准FORTRAN(ANSI X3.9-1966)和美国国家标准基本FORTRAN(ANSI X3.10-1966),前者相当于FORTRAN Ⅳ,后者相当于FORTRANⅡ。基本FORTRAN是美国国家标准FORTRAN的一个子集,从而实现了语言的向下兼容,初步解决了语言的兼容性问题。通常称美国国家标准FORTRAN为FORTRAN 66。FORTRAN 66的推出在国际上产生了广泛影响,1972年国际标准化组织(简称ISO)在FORTRAN 66基础上制定了FORTRAN语言三级国际标准:基本级、中间级和完全级。
20世纪60代末,结构化程序设计方法提出后,具有结构化特征的程序设计语言开始出现,如:ALGOL、PASCAL、MODULA、C等。如何将结构化特征引入FORTRAN 66引起计算机厂商和研究机构的高度重视,许多计算机厂商开始对FORTRAN 66进行不同程度的扩充,引入了结构化特征。针对这种情况,ANSI于1976年对FORTRAN 66(ANSI X3.9-1966)进行了修订,吸收了计算机厂商所扩充的一些行之有效的功能,同时增加了许多新内容。ANSI于1978年4月正式公布了新的美国国家标准(程序设计语言FORTRAN ANSI X3.9-1978),同时宣布撤消ANSI FORTRAN 3.9-1966,通常称新标准为FORTRAN 77(该版本原计划1977年公布)。FORTRAN 77向下兼容FORTRAN 66。在1980年,FORTRAN 77被ISO正式确定为国际标准ISO 1539-1980,该标准分全集和子集。FORTRAN 77推出后,由于具有结构化特征,在社会上得到了广泛应用,同时由于扩充了字符处理功能,在非数值处理领域也能大显身手。
20世纪80年代末,FORTRAN 77结构化和现代化的研究开始兴起,到1991年5月,ANSI公布了新的美国国家标准FORTRAN(ANSI 3.198-1991)。之后,ISO采纳该标准,并确定为国际标准ISO/IEC 1539-1:1991,新国际标准还采纳了我国计算机和信息处理标准化技术委员会程序设计分会提出的多字节字符集数据类型及相应的内部函数,为非英语国家使用计算机提供了极大的方便。通常称新标准为FORTRAN 90,FORTRAN 90向下兼容FORTRAN 77。之后不久又出现了FORTRAN 95。
FORTRAN 90的推出,使传统FORTRAN语言具有了现代气息。Fortran 2003 的规则已经由ISO组织制定发布。
Windows平台下,微软公司将FORTRAN 90无缝集成在Developer Studio集成开发环境之中,推出了Microsoft FORTRAN PowerStation 4.0,使FORTRAN 90真正实现了可视化编程,彻底告别了传统DOS环境(字符界面),转到了现代Windows环境(视窗界面),共享微软公司Windows平台的丰富资源。
在1997年3月,微软公司和数据设备公司(Digital Equipment Corp,简称DEC)强强联合,合作研究、开发和推出了功能更强的FORTRAN语言新版本:
Digital Visual FORTRAN 5.0,它是Microsoft FORTRAN PowerStation 4.0的升级换代产品。DEC公司在高性能科学和工程计算方面拥有世界领先技术,其高质量的FORTRAN编译器遍及全球。1998年1月,DEC与Compag公司合并,DEC成为Compag公司的全资子公司,于是Digital Visual FORTRAN更名为Compag Visual FORTRAN,其最新版本为Compag Visual FORTRAN 6.6。Compaq和HP合并之后,Compaq的Fortran小组和Intel的Fortran开发小组合并,开发出来Intel Fotran编译器9,有linux和window2个版本,其windows版本为Intel Visual Fortran, 可以和微软的Visual Studio.net集成。Windows平台下还有PGI,Absoft,Intel等多个商业公司的Fortran编译器,还有大量小公司的免费Fortran编译器。
openMPI使Fortran等语言可以容易且免费的实现并行计算。
Linux平台下,其gcc编译器默认支持fortran,另外有Intel,Sun Studio,openMPI,Photran等共享编译器和PGI,Absoft,lachy, IBM,SGI,HP等多个版本的商业编译器。
支持Fortran 2003标准的编译器行将推出,新版本的Sun Studio 编译器已经支持部分 Fortran 2003 语法。

Fortran的特性
Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。
易学,语法严谨。
可以直接对矩阵和复数进行运算,这一点类似matlab。
自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。
很多专用的大型数值运算计算机针对Fortran做了优化。
广泛地应用于并行计算和高性能计算领域。
Fortran90,Fortran95,Fortran2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。

Fortran语言的Hello World程序
下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
WRITE(*,10)
10 FORMAT('Hello, world!')
STOP
END

Fortran编译器
Windows操作系统下:
Fortran Power Station 4.0 (FPS 4.0),微软公司开发的Fortran编译器。1997年3月转让给DEC公司。
Digital Visual Fortran (DVF),Fortran Power Station的DEC公司版本。
Compaq Visual Fortran (CVF),1998年1月,DEC公司被康柏公司收购,Digital Visual Fortran更名为Compaq Visual Fortran。一个着名的版本是Compaq Visual Fortran 6.5。目前康柏公司已并入惠普公司。Compaq Visual Fortran的最新版是6.6。
Intel Fortran,英特尔公司的开发的Fortran编译器。
Lahey Fortran
Absoft Fortran
OpenWatcom
Linux操作系统下:
PGI Fortran
G77,GNU的Fortran77编译器,集成在GCC中。
GFORTRAN,GNU的最新的Fortran编译器,集成在GCC 4.0中,目的是支持Fortran95和一部分Fortran2003的功能,以替代G77。
Intel Fortran
Absoft Fortran
g95,跟GFORTRAN同为开放源代码的Fortran95编译器。

Fortran程序包
几个着名的Fortran程序包:
IMSL--国际数学和统计链接库
BLAS--Basic Linear Algebra Subroutines
LAPACK--Linear Algebra PACKage
FORTRAN90是ISO(国际标准化组织)于1991年推出的最新标准,我国国家标准是GB/T 3057-1996.除了保持FORTRAN77的全部优点之外,又 增加了许多具有现代特性的功能,使他成为具有良好的结构特性,鲜明的时代特性的程序设计语言.程序设计是计算机基础教育的基础与重点,高级语言程序设计课是继微机应用基础之后的一门必修的基础课,目的是向学生介绍程序设计的基础知识,使学生掌握高级语言程序设计的基本方法,具有应用计算机的初步能力,并培养学生掌握用计算机处理问题的思维方法。通过该课程的学习,要求学生了解FORTRAN语言的特点,基本成份及使用方法,具有阅读程序和初步编程的能力。进行算法的初步训练,掌握最基本算法的设计和实现方法。掌握结构化程序设计方法,能设计出良好风格的程序。具有调试程序的基本能力。

Fortran的将来
Fortran语言是一种极具发展潜力的语言,在全球范围内流行过程中,Fortran语言的标准化不断吸收现代化编程语言的新特性,并且在工程计算领域仍然占有重要地位。
不可否认,Fortran语言与目前流行的JAVA,C#等高级语言相比,它缺乏创造力。但是,工科学生必须注意到,由于Fortran在工程计算领域长期处于统治地位,很多优秀的工程计算软件都是运用fortran语言编写,例如ANSYS,Marc,为了能够使用这些商业软件的高级功能,必须先学会fortran语言,才能编写应用程序接口。
在数值计算中,Fortran语言仍然不可替代。Fortran90标准引入了数组计算等非常利于矩阵运算的功能。在数组运算时,Fortran能够自动进行并行运算,这是很多编程语言不具备的。运用fortran语言,你能够运用很多现成的函数软件包,所以非常便利。(目前流行的Matlab的早期版本,主要就是为两个着名的Fortran函数包提供程序接口)

阅读全文

与imsl源码相关的资料

热点内容
框架源码研读 浏览:444
仙侣奇缘3如何架设服务器 浏览:952
单片机RRC指令 浏览:887
默认加密文件密码 浏览:3
怎么用反诈中心app查询电话 浏览:708
linuxvi操作 浏览:296
什么是实木压缩板 浏览:639
加密空投与硬分叉指南 浏览:15
加密wps文档密码忘了怎么办 浏览:685
冲程算法 浏览:988
鸡料与鸡粪的算法 浏览:833
phpif变量为空值 浏览:59
iot编译器异常 浏览:600
代理服务器被禁用怎么上网 浏览:411
隐私加密怎么设置密码 浏览:940
马丁靴补色解压 浏览:565
在设置app上怎么找到个人热点 浏览:754
按照档案号生成文件夹 浏览:1001
程序员转方向 浏览:111
lol敏捷加密 浏览:882