“迫于美国政府的政策,mathwork将禁止向哈尔滨工业大学、哈尔滨工程大学提供技术以及客户支持服务。” 6月10日,美国软件mathwork客户支持部门的员工在一封给哈工大学生的回复邮件中表示。期间知名分享吧也做了许多的调整,调转了产品研发的方向,为了更好的迎合市场的需求。
从6月6日起,哈工大、哈工程两校师生无法使用mathwork的软件matlab。糟糕的是,未来两校将不能在公开发表的论文中出现任何使用matlab 得到的图表与数据 [1]。这是自今年5月底哈工大、哈工程被列入美国实体名单后,率先感受到的 “迎头痛击”。
对此,国内有学者评论道,mathwork 这一行为“违反合约”、“不讲信誉”。
matlab 软件被禁对工科领域的研究有什么影响?如何应对诸如此类的限禁令…… 《知识分子》向多位理工科的学者以及学生了解他们在教研和学习中对 matlab 等工具的使用情况,或许为此事件提供更多探讨的观点与启示。
matlab 在国内理工科院校使用情况如何?
哈工大、哈工程两校被禁用工科常用的数据计算与模拟仿真类软件matlab 一事引起了广泛关注。那么,这到底是一款什么样的软件?
matlab 的全称是矩阵实验室(matrix laboratory),它是美国mathwork 旗下的一款商业数学软件,其本身主要用于数值计算,并利用众多附加工具箱(toolbox)进行功能拓展,涵盖数学和优化、控制系统设计和分析、图像处理等领域。此外,matlab 还有功能强大的配套软件包 simulink,应用于系统模拟等方面 [2]。
“受疫情影响,我无法返校,原本的实验部分便改为了仿真,这部分工作主要在 matlab 仿真平台中完成。” 哈工大电气学院应届毕业生陶亮(化名)对《知识分子》表示,在matlab 仿真平台上,陶亮绘制相关函数的三维图,使用 simulink 搭建仿真模型等。
“此外学校的部分教学工作,也是涉及matlab工具,比如《信号系统》,还有些课程报告需要matlab搭建仿真模型。” 陶亮继续补充道, “但学校教学工作涉及的仿真软件还是比较多样化的,也会用到一些专业相关性极强的软件。”
另一名哈工大材料专业学生对《知识分子》表示,他使用 matlab 不多,主要用它绘图,但他也表示,在《传输过程》等课程中,有一些含有复杂方程的数学模型,也常用 matlab 求解。
在未被列入实体名单的工科高校中,matlab 也有一定的使用群体。中国石油大学一位化工专业并辅修计算机专业双学位的应届本科毕业生括烨(化名)告诉《知识分子》, “我的两个专业毕业设计都是靠 matlab 完成的。化工专业的毕业设计是用 matlab 的 simulink 仿真模拟了田纳西-伊士曼化工过程(te过程,即模拟一个中小型化工厂动态运行过程),然后用 matlab 编写代码建立了一个软测量(即构建可以测量的变量和不能直接测量的变量之间的关系)的预测模型;计算机专业的毕业设计用 matlab 做了一个分子动力学模拟数据展示和分析的程序。”
中国石油大学数学专业的一位教师沈阳(化名)则对《知识分子》表示,他的研究多集中在符号计算,近几年用 matlab 做数学建模和部分数值模拟,并在本科生教学中教授 matlab 的一些基本使用方法。
在很多理工科师生看来,matlab 被看作是科研和学习必备的 “神器”,但我们在小规模调研后发现,国内师生对此类工具的使用呈现多元化状态,很多理工类学科都有其他专门的软件做计算或模拟,如研究流体力学的专业可以选择使用 olga(动态多相流模拟器)做多相流动与传热,化工等专业有用 gams(一款运筹规划分析软件)做编程计算,环境工程有用 ecopath(一款生态系统模型软件)模拟水生态食物链。
matlab 或许只是理工科的众多使用工具之一。当然,选择使用什么工具也跟不同的研究人员的研究方向相关,但总体来看,这类研究工具的使用是多元的。
matlab不能使用,有无可行的替代方案?
既然 matlab 并非科研工作者的唯一选择,在其禁用进入实体名单高校的师生使用,他们能用其他的软件代替 matlab 吗?
“近几年,我在学生的推荐下才开始使用 matlab,之前主要是用mathematica(一款与matlab齐名、美国wolfram旗下的数学与工程计算商业软件)来做的。”沈阳介绍到,“一般来说,matlab能做的符号计算,mathematica都能做。”
那么,能用 mathematica 完全替代matlab吗?
美国佐治亚理工大学计算机专业在读博士生韩峰(化名)认为,“mathematica 和 matlab 定位不太一样,mathematica 的设计更 ‘抽象’、‘智能’ 一些,matlab 更多地是为工科设计的,里面的simulink 和其他仿真的包基本上没办法被替代。”
在 matlab 出现禁用授权时,有无替代的 “开源” 软件,如 python、r语言、octave 等?在美国一制药做数据分析的研究员介绍,“当时在国内读本科时,老师往往教授 matlab,但出国读研究生后基本都用r 和 python 了。特别是这两种语言的代码基本上都是开源的,方便学术交流和分享,对开放获取出版比较友好,另外感觉r和 python 的生态系统更好,用的人多,遇到问题的话调试(debug)也方便。”
“数值计算领域的经典教材,如《 matrix computation 》,往往采用matlab 语言编写,我做数值计算的时候也往往用 matlab,这样写出的代码更接近书本或论文里的公式,便于对比、查错和后续使用”,韩峰表示,“我也尝试过将工作环节转换到 python 上并使用 numpy 和scipy (用python进行数值计算和数据分析时常用的两个库),但感觉不如用 matlab 写来得方便,可能是我习惯了后者的缘故。”
哈佛医学院神经生物学博士后邓下闲(化名)认为,“matlab 中的80%主要是普通的数学计算,这方面基本可以用 r、python 等工具替代,剩下的20%则难以替代,主要是 simulink,涉及一些工业仿真、建模之类。实际上,这部分也不是完全不可替代,只是会很麻烦、很不方便。”
从以上来看,虽然 matlab 这一使用群体有很多 “替代方案”,可以缓解燃眉之急,如使用数学商业软件 mathematica、开源工具等,但真正地要做到替代 matlab,还有些困难。
matlab被禁用,给我们带来的思考
美国政府以及 matlab 这一波 “猛如虎的操作” 可能一时会让人 “懵圈”,但冷静想来还有很多问题值得思考。
第一个问题是,哈工大、哈工程已购买正版版权的软件被禁,是美国不讲信誉吗?北京大学讲席教授陈松蹊认为,美国 mathwork 禁用两校的 matlab 举动 “违反了合约”(breach of contract),“不讲信誉”。他指出,之前 matlab 在中国工科的市场营销做得太好了,现在的行为“在商业上逻辑不通”。
另一学者并不认同这一观点,这应属于 “不可控力”,谈不上违反合约,对 mathwork 本身来说也是商务损失。
第二个问题是,尽管目前理工科学者与学生做研究的工具多种多样,但其中大多数是美国的产品,如做数学计算的 mathormatic,专门做计算流体动力学(cfd)的商业软件 fluent,工科学生普遍要求掌握的工业绘图软件 autocad 等。
虽然目前使用这些产品还是 “安全” 的,但如果未来更糟糕的情况发生,我们如何才能不被类似 matlab 这样的 “限禁令” 扼住咽喉?
在科研以及工业应用软件领域,也许我们要走上 “自主创新” 之路,哪怕道阻且长,也要 “上下求索”,由此才能避免未来 “被拿捏” 的痛苦。