Mathematica是编程语言吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mathematica是编程语言吗相关的知识,希望对你有一定的参考价值。
mathematica可是说是一种编程语言,因为它允许你编写程序来完成各种任务,自身也有很规范的语法格式。甚至m表达式可以说是一个亮点。但它不是一种通用的编程语言。mathematica不向python,c语言这些语言一样,可以构建各种各样的应用程序,它多数情况下只被用来执行科学研究方面的计算和分析任务。使用mathematica语言,几乎必须下载mathematica这个软件,这个软件至于这门语言就像是Python解释器之于python语言,c编译器之于c语言,但细节上还是有很多不同。
不过牛人们也可以用mathematica做很多奇葩的事情,包括网络爬虫这些,生生把这个不是通用语言的语言给玩成了一门通用语言了。就像excel,当初创造它的时候,谁知道还能用它来画蒙娜丽莎呢? 参考技术A 我个人曾经不大看得起matlab,mathematica这种软件。有次导师问我程序是用什么软件实现的,我说我不是用软件,我是用c写的。说完我脸刷一下就红了,原来一个人如果不把他的想法说出来,写出来,就不会知道自己有多浅薄。
当时我已经学完了一学期课程量的《数值分析》。这门课的目的是“发明一种计算方法,用计算机来解决数学问题”(张康,浅谈数值计算,数学传播杂志,非常好的一个台湾季刊杂志)。众所周知,计算机最根本的只是“与”“或”“非”门(甚至可以只有与非门或者或非门),我们姑且把这些逻辑运算电路算作计算机最根本的抽象。在这之上,我们有2进制编码,于是有了机器语言,机器语言进一步抽象为汇编语言,汇编语言提供了所有高级语言同机器语言的公共接口。我们所编码的程序,在硬件层次上抽象到根本上都是与或非的逻辑运算,在心理层次上抽象到根本上都是自然数的运算,当然可能更根本的是元逻辑和素数。
再来看我们使用计算机的目的,当我们做数值计算的时候,我们的计算数据通常是有理数和复数,它们并不是直接被写到硬件上的,它们只是自然数的数对而已。c语言提供了这种数据层次上的抽象,而matlab,mathematica提供的不仅是这种数据层次的抽象,还有过程的抽象。
人之上升的道路啊,不仅是抽象层次的提升,还是对这些层次的反观啊! 参考技术B mathematica是molfram公司旗下的产品之一,是一款强大的数学软件,wolfram是在mathematica里编写的语言,和MATLAB类似,不过mathematica偏重于数学方面,如解决微分方程,积分,一般方程求解,级数展开等都非常高效,图形界面也很友好本回答被提问者采纳
JupyterNotebook安装配置Mathematica语言支持(WolframLanguage Engine)
文章目录
- 一、准备工作
- 二、安装JupyterNotebook
- 三、安装WolframEngine
- 四、为Jupyter创建WolframLanguage kernel
- 五、连接内核并使用WolframLanguage
- 六、报错及其分析
- 七、总结及其改进
一、准备工作
- Linux 系统( Ubuntu 或其它发行版本)
- 网络状况良好
- 时间充足,下载内容较多
二、安装JupyterNotebook
这里建议使用 apt
下载而不是 pip
,这样省去了图标的配置,命令如下:
sudo apt-get install jupyter-notebook
为 WolframLanguage kernel
的搭建下载依赖项:
sudo apt-get install jupyter-client
三、安装WolframEngine
参考链接如下:https://tiebamma.github.io/InstallTutorial/
1. 下载安装文件
镜像链接如下:https://wdm.undo.icu/wyd/WolframEngine/12.3.1/WolframEngine_12.3.1_LINUX_CN.sh
这里建议复制镜像链接去浏览器下载,不知为何 wget
下不动。
2. 安装配置WolframScript
进入下载目录,运行安装文件:
cd ~/Downloads
sudo bash WolframEngine_12.3.1_LINUX_CN.sh
安装过程会提示选择安装目录以及可执行文件存放目录,默认配置如下:
安装目录 | 可执行文件存放目录 |
---|---|
/usr/local/Wolfram/WolframEngine/12.3 | /usr/local/bin |
这里不修改的话直接 Enter
就好了:
3. 验证安装
键入命令,启动 wolframscript
:
wolframscript
成功启动界面如下:
第一次启动需要输入账号和密码,需要去官网注册:https://www.wolfram.com/engine/free-license/
4. 允许远程连接
先 Ctrl+D
退出 wolframscript 界面,执行如下命令,允许远程连接到 WolframEngine
:
wolframscript -activate
输出如下:
四、为Jupyter创建WolframLanguage kernel
1. 准备工作
项目地址如下:https://github.com/WolframResearch/WolframLanguageForJupyter
我们采用 Git
工具直接拷贝即可:
cd ~/Downloads
git clone https://github.com/WolframResearch/WolframLanguageForJupyter.git
2. 创建内核
进入到相关目录,执行如下命令:
cd WolframLanguageForJupyter
./configure-jupyter.wls add
查看帮助命令如下:
./configure-jupyter.wls help
五、连接内核并使用WolframLanguage
1. 连接与使用方法
在终端中键入如下命令打开 JupyterNotebook:
jupyter-notebook
连接 WolframLanguage kernel
方法有二,一是在创建文件时便选择
N e w → W o l f r a m l a n g u a g e 12.3 New \\rightarrow Wolfram\\ \\ language\\ \\ 12.3 New→Wolfram language 12.3
或者在已创建好的 .ipynb
文件中,更改 kernel:
K e r n e l → C h a n g e k e r n e l → W o l f r a m L a n g u a g e 12.3 Kernel \\rightarrow Change\\ \\ kernel \\rightarrow Wolfram\\ \\ Language\\ \\ 12.3 Kernel→Change kernel→Wolfram Language 12.3
2. 验证连接
以求函数
f
(
x
)
=
1
1
−
x
2
f(x) = \\dfrac1\\sqrt1 - x^2
f(x)=1−x21 的二阶导数为例来验证配置情况,wolframscript
代码如下:
f = D[1/(1-x^2)^(1/2), x, 2]
输出如下,配置成功:
六、报错及其分析
配置过程常见的 bug 大概有如下几点:
1️⃣ JupyterNotebook
缺乏相关依赖,在我的电脑上,它出现了如下报错:
Exception: Jupyter command `jupyter-kernelspec` not found.
报错原因便是缺乏了包含 jupyter-kernelspec
可执行文件的依赖项,所以我们需要通过如下命令来解决:
sudo apt-get install jupyter-client
2️⃣ 连接 WolframLanguage kernel
长时间无响应,这点主要是由于第一次远程连接WolframEngine 需要用户名和密码导致,所以需要我们先使用如下命令远程连接一次:
wolframscript -activate
七、总结及其改进
对于 Jupyter 下 WolframLanguage kernel
的构建还有一种利用 wolframscript
命令行的方法,这里我没有尝试,在此附上 GitHub 项目链接:https://github.com/WolframResearch/WolframLanguageForJupyter
以上是关于Mathematica是编程语言吗的主要内容,如果未能解决你的问题,请参考以下文章
Mathematica 和 MATLABMaple 并称为三大数学软件
Mathematica和matlab有啥区别,那个更简单阿?
JupyterNotebook安装配置Mathematica语言支持(WolframLanguage Engine)