载入中
  • 开放源代码的数学软件(2)
  • 作者:佚名
  • 发表日期:十月 01, 2007
  • 浏览:104次
  • 收藏本文
  • 编者导读:4 自由数学软件GNU Octave  GNU Octave是自由软件基金会(Free Software Foundation)支持的遵循GPL协议(GNU General Public License)的一个自由再发布的软件,作者是以John W. Eaton为首的一些志愿者。它提供了一个环境,该环境支持叫做GNU Octave的高级语言,这种语言与Matlab兼容,主要用于数值计算。它提供了一...

  • 4 自由数学软件GNU Octave

      GNU Octave是自由软件基金会(Free Software Foundation)支持的遵循GPL协议(GNU General Public License)的一个自由再发布的软件,作者是以John W. Eaton为首的一些志愿者。它提供了一个环境,该环境支持叫做GNU Octave的高级语言,这种语言与Matlab兼容,主要用于数值计算。它提供了一个方便的命令行方式,可以数值求解线性和非线性问题,以及做一些数值模拟。

      Octave也提供了一些工具包,可以解决一般的线性代数问题,非线性方程求根,常规函数积分,处理多项式,处理常微分方程和微分代数方程。它也很容易的使用Octave自带的接口方式扩展和定制功能。与前面介绍的Scilab相比,

    首先它们的共同点是开放源代码软件。
    Octave的比起Scilab,对Matlab的语法兼容性更好,几乎没有差别。比如,Octave也使用M文件的形式来扩展功能和定义函数。因此熟悉Matlab的用户更容易接受Octave环境。
    Octave的功能比起Scilab要简单一些,这使得Octave对一些用户来说意义不如Scilab大。
    很不幸的是Octave目前没有图形界面,我们只能在行命令的方式进行交互。
      但是Octave还是有自己的特点:

      (1) 它是一个GPL软件。关于GPL的意义,这里不介绍,我们要指出的一点是,它允许用户在遵循GPL协议的前提下,自己发行这个软件,可以单独,也可以包含在用户的产品里面发行。而Scilab是不允许的,用户只能免费使用Scilab。

      (2) 它可编程的性能更好, Octave语言功能更为强大,几乎提供所有系统函数的支持,Octave在语法上也更接近C的语法,比如提供++和这--样的预算符。这样,我们可以在Octave环境里面增加一些更为强大和易用的扩展。不象在Matlab和Scilab环境中限制比较多,有时无法充分的利用系统资源。

      (3) 它的计算库都是用C写,而Scilab则基本是Fortran的编写的。这也是一份有用的资源。

    5 结论与思考

      (1)开放源代码会成为软件开发与发行的重要方式之一。本文介绍的Scilab和Octave都是开放源代码的数学软件。Scilab可以免费使用,Octave不仅可以免费使用,还可以遵照GPL协议由用户再发布。

      (2)可以预见,自由数学软件由于它的开放性,功能会不断丰富,性能会逐步提高,能够满足更多用户的要求。

      (3)与著名的商业性数学软件Matlab相比,无论从功能还是从性能上Scilab都不逊色。在国内目前售后服务和技术支持有限,而且商业性数学软件价格昂贵的情况下,完全可以替代Matlab使用。

      (4)本文介绍的主要是数值计算软件。在符号计算方面Mathematica和Maple是目前流行的商业性软件。开放源代码的符号计算软件发展也很快,yacas是目前被看好的一个。

      (5)研制和开发国内自有的科学计算环境,是国内计算数学和科学与工程计算工作者多年探索的问题。借助现有的自由数学软件,特别是可以遵照GPL协议由用户再发布的自由数学软件,可能更加现实。

    参考文献(共10篇,略)

      Richard Stallman:Stallman是GCC(一种C编译器)和GNU Emacs等软件的作者。GNU计划和自由软件基金会(FSF)的创建者,开放源代码运动的发起人。

      GNU计划(GNU Projects):Stallman创建的这一计划,目的是建立一种开放的、免费的Unix版本。GNU本身没有达到目标,但是却产生了一些重要的工具,日后并入Linux并使之成为了特性完备的操作系统。为了保护其工作,Stallman成立了免费软件基金会(Free Software Foundation, www.fsf.org)并且起草了General Public License(GPL)。GPL成为了Linux和许多其它计划遵守的准则。进一步的资料见[2]。

      DeCSS:一种针对DVD区位加密码的解密算法。美国电影协会认为DeCSS算法代码在网上的公开发表会促使盗版DVD的流行。

      Linux: 一种以GPL作为发布协议的操作系统,常见的发行版本有Redhat, Slackware和Debian。对Linux进一步见[6]。

      Apache:一种市场上占有率最高的Web Server。Apache是一个在宽松的BSD协议约束下的开放源代码程序,开发者可以随意按照自己的需要对其进行加工。希望详细了解Apache的读者见[10]。

      NetLib: 是一个收集数值算法,科学计算以及相关领域自由软件的组织,它主要由AT&T贝尔实验室,田纳西大学(University of Tennessee),OAK RIDGE国家实验室主持运作,是最重要的自由数学软件的交换地点。它不但收集了最全的数学算法程序库,也提供了良好的算法搜索引擎。

      INRIA实验室:希望对该实验室做进一步了解的读者见[4]。

      PVM:这是NetLib发布的一个目前流行的并行虚拟系统。Scilab在运行环境中集成的是PVM的接口,如果想需要PVM,需要先运行PVM驱动。

      GPL: 原文见[1]。
  • 【引用地址】http://www.suanshu.net/list/4675.aspx
  • 【关键字】开放源代码的数学软件(2)
载入中
版权申明:非特殊申明,本站文章均系转载自互联网,如果侵犯了你的合法权益,请告知我们,我们会第一时间处理. 要点评这篇文章,请在下面留言
针对这篇文章的评论
  • 评论载入中
    评论载入中...请稍后...

发表您的评论您的评论

用户名: 验证码: 说明:评论并不需要注册.如果您不是本站会员,你可以注册为本站会员. 注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
  • 不良评论请用报告管理员,以利管理员及时删除。
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规。
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  • 本站评论管理人员有权保留或删除其管辖评论中的任意内容。
  • 您在本站发表的作品,本站有权在网站内转载或引用。
  • 参与本评论即表明您已经阅读并接受上述条款。

赞助商链接