ylbtech-杂项-数学软件:Mathematica
Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一。Mathematica的发布标志着现代科技计算的开始。Mathematica是世界上通用计算系统中最强大的系统。自从1988发布以来,它已经对如何在科技和其它领域运用计算机产生了深刻的影响。
Mathematica 和 MATLABMaple 并称为三大数学软件。
 
1. 历史返回顶部
人们常说,Mathematica的发布标志着现代科技计算的开始。自从上世纪六十年代以来,在数值、代数、图形、和其它方面一直有个别的软件包存在。但是,Mathematica的基本概念是用一个连贯的和统一的方法创造一个能适用于科技计算各个方面的软件系统。实现这一点的关键之处是发明了一种新的计算机符号语言。这种语言能仅仅用很少量的基本元素制造出广泛的物体,满足科技计算的广泛性。这在人类历史上还是第一次。
当Mathematica1.0版发布时,《纽约时代报》写道:“这个软件的重要性不可忽视”;紧跟着《商业周刊》又将Mathematica评比为当年十大最重要产品。在科技界,Mathematica被形容为智能和实践的革命。
 
2. 影响返回顶部
Mathematica的用户群中最主要的是科技工作者和其它专业人士。但是,Mathematica还被广泛地用于教学中。数学中的许多计算是非常繁琐的,特别是函数的作图费时又费力,而且所画的图形很不规范,所以现在流行用Mathematica符号计算系统进行学习,从高中到研究生院的数以百计的课程都使用它,很多问题便迎刃而解。此外,随着学生版的出现,Mathematica已经在全世界的学生中流行起来,成为了一个著名的工具。
 
3. 开发工作返回顶部
Mathematica的开发工作是由世界级的队伍组成的。这支队伍自从成立以来一直由史蒂芬·沃尔夫勒姆领导。Mathematica的成功使得公司能够集中注意力在非常长远的目标上,运行独特的研发项目,以及通过各种各样的免费网站支持世界各地的知识爱好者。
长期以来,Mathematica核心设计的普遍性使得其涉及的领域不断增长。从刚开始是一个主要用于数学和科技计算的系统,到发展成许多计算领域的主要力量,Mathematica已经成为世界上最强大的通用计算系统。
 
4. 高性能计算返回顶部
Mathematica系统已经支持高性能计算。在Mathematica 5.2版本中,它已经支持自动多线程计算。在2002年,gridMathematica的引入使得用户级的并行编程可以在不同的集群和多处理器系统中进行在2008年,在所有的Mathematica许可证中囊括了并行计算技术,包括支持网格技术如Windows HPC Server 2008、Microsoft Compute Cluster Server和Sun Grid。2010年,Mathematica增加了对CUDAOpenCLGPU硬件的支持。另外,第8版还可以生成C代码,它可以自动由系统C编译器进行编译,比如Intel C++编译器或者Visual Studio 2010编译器。
 
5. 产品功能返回顶部
 
 
6. 历史版本返回顶部
 
7. 产品功能返回顶部
Mathematica的功能包括:
1、使用一行代码可显示的图形
2、各种基本数学函数库
3、各种特殊属性函数库
4、矩阵和数据操纵工具,包括对稀疏矩阵的处理
5、支持复数、任意精度数、区间算术和符号运算
6、2维和3维数据以及函数的可视化和动画工具
7、求解方程组、常微分方程偏微分方程、微分代数方程、时滞微分方程、递推关系式等等
8、离散和连续微积分的数值和符号工具
9、多变量统计程序库,包括支持100多种数据分布的数据拟合、假设检验、概率和期望的运算
10、对运算和应用程序添加用户界面的各种工具包
11、约束和非约束以及局部和全局的最优化技术支持
12、程序语言支持:过程式编程语言、函数式编程语言和面向对象的编程语言
13、图像处理工具 ,包括图像识别
14、提供用于图论中图的分析和可视化的工具
15、分析组合问题的工具
16、用于文本挖掘的工具
17、数据挖掘的工具,比如聚类分析、字符串对齐和模式匹配
18、数论函数库
19、金融运算的工具,包括期权、债券、年金、派生工具等的计算
20、群论函数
21、技术文本处理,包括公式编辑器和自动报告生成
22、用于声音、图像和数据的小波分析程序库
23、控制系统程序库
24、连续和离散的积分变换
25、导入和导出数据、图像、视频、GISCAD等各种文件格式,并支持对生物医学类数据的输入和输出
26、链接Wolfram Alpha的大量数学、科学、社会经济学类的数据集合
27、查看并且重新使用前面的输入和输出(包括图像和文本记号)的笔记本界面
28、和基于DLL、SQLJava.NETC++FORTRANCUDAOpenCL以及http的系统相链接的工具
29、编写并行程序的工具
30、当与互联网连接时,在笔记本中可同时使用“自由格式语言输入”(一个自然语言型的用户界面)和 Mathematica 语言
 
8. 应用的连接返回顶部
Mathematica通过名为MathLink的协议与其它应用程序链接。通过该协议,Mathematica实现内核与前端的通讯,并且也提供了内核和其它应用程序之间的一个通用接口。
Mathematica不但本身具有丰富的功能,而且它也提供了大量接口用以访问其它软件,从而可以方便地调用那些其它软件具有但Mathematica暂时不具备的功能。这样做可以进一步增强Mathematica的适用性。
Wolfram Research发布了一个免费的开发工具包,该工具包允许C programming language编写的应用程序通过MathLink链接到Mathematica内核。
使用.NET/Link,任何一个.NET程序都可以调用Mathematica执行计算操作;相应地,Mathematica程序也可以加载.NETclasses、操纵.NET对象并且执行方法调用。这样我们就可以从Mathematica内部构建.NET图形用户界面。类似地,Mathematica也有J/Link。顾名思义,它可以用于Mathematica与Java程序之间的交互。
与SQL数据库之间的通讯是通过内置的JDBC支持实现的。Mathematica也可以从一个WSDL描述中安装网页服务。
其它与Mathematica相链接的语言包括Haskell、AppleScript、PLT Scheme、Visual Basic、Python和Clojure。
在Mathematica和OpenOffice.org Calc以及Microsoft Excel之间有双向的链接。
Mathematica也提供了与许多专门的数学软件包之间的链接,包括MATLAB、R、Sage、SINGULAR、MathModelica和Origin
Mathematica中的数学公式也可以与其它计算或者排版软件(比如MathML)的公式进行相互转换。
Mathematica可以通过多种方式捕获实时数据,比如与LabVIEW的链接,金融数据feeds,或者直接通过GPIB从硬件设备(IEEE 488)、USB以及串行接口获取。
其他可用界面有JMath,它基于GNU readline和MASH,并利用UNIX命令行运行内置的Mathematica程序(内含参数)。

支持语言

语言:C、.NET、Java、SQL

支持软件

软件:OpenOffice、Microsoft Excel、MATLAB、R
 
9. 可计算数据返回顶部
Mathematica囊括了大量可立即计算的数据。用户可以通过编程访问这些数据,并且也可以通过Wolfram Research的数据服务器自动更新数据。某些数据如股票价格和天气数据都是实时递送的。
数据集包括:
  • 天文数据:155,000个天体的99个属性
  • 化学数据:34,000个化合物的111个属性,118个化学元素的86个属性以及1000个亚原子粒子的35个属性
  • 地缘政治数据:237个国家的225个属性,以及全世界160,000个城市的14个属性
  • 金融数据:186,000个股票和金融工具的历史和实时属性
  • 数学数据:187种多面体的89个属性,3000种图的258个属性,6种knots的63个属性,21种晶格结构的37个属性,52个测地学方案的32个属性
  • 语言数据:149,000个英语单词的37个属性。26个其他语言的词典
  • 生物医学数据:所有40,000个人类基因的41个数据,27,000类蛋白质的30个属性
  • 天气数据:全球17,000个气象站的43个实时和历史的测量数据
  • Wolfram Alpha数据:来自Wolfram Alpha的亿万兆数据
10. 平台可用性返回顶部
Mathematica可以在许多不同的平台上运行,包括:LinuxAppleMac OS X以及基于NTMicrosoft Windows所有平台都支持64位实现。在6.0.3之前的版本还支持其它操作系统,包括:SolarisAIX、Convex、HP-UX、IRIXMS-DOSNeXTSTEPOS/2、Ultrix和Windows Me.
Mathematica家用版是Microsoft Windows、Linux和Mac OS X(Intel)上的一个32位应用程序
 
11.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. 转载:《TypeScript 中文入门教程》 2、枚举
  2. 关于ArcGIS API for JavaScript中basemap的总结介绍(一)
  3. ubuntu14.04 python自带版本升级
  4. 使用Uploadify(UploadiFive)多文件上传控件遇到的坑
  5. IP地址、子网掩码、网关、DNS的关系
  6. LeetCode Shortest Distance from All Buildings
  7. 挖掘机技术哪家强(c++实现)
  8. Mschat控件示例升级错误处理方法
  9. Android.mk 常用宏和变量
  10. Python 基础篇:字符编码、函数
  11. js构造函数传参
  12. C语言中的系统时间结构体类型
  13. JIRA官方:为什么要用JIRA?
  14. 自定义JSTL函数标签(一)
  15. shell删除指定时间之前的文件
  16. C# 脚本代码自动登录淘宝获取用户信息
  17. Jwalk发布——一个比较小的Js动画库
  18. JavaScript核心参考
  19. pycharm和shell中的sys.path不一样
  20. SSM-SpringMVC-18:SpringMVC中参数自动装配

热门文章

  1. 《Effective C++》第8章 定制new和delete-读书笔记
  2. Datesheet 参数手册
  3. New Concept English three(16)
  4. 学习三部曲:WHAT、HOW、WHY
  5. HAWQ取代传统数仓实践(十九)——OLAP
  6. 新浪云使用smarty模板的方法
  7. json XML 比较
  8. Goroutine是如何工作的?
  9. Linux服务器运行环境搭建(三)——MySQL数据库安装
  10. 观后感 - 从MVC到前后端分离