一个坏消息,根据美国商务部的实体管制禁令,包括哈尔滨工业大学和哈尔滨工程大学在内的一些组织将无法得到Matlab软件母公司MathWorks所提供的服务,尽管哈工大在去年三月份已经统一购买了Matlab软件的「授权许可证」。
Matlab是一款优秀的工业软件,擅长数学建模和系统仿真,很多高科技领域的技术研究都需要在它的帮助下完成,这一禁令会阻碍一些重要研究的顺利进行。
该消息一出,网上很快流传出一份开源软件清单,作为Matlab的替代产品,其中包括Python和Octave,碰巧这两款软件我都使用过。
首先我认为这个替代品清单的出现不能算是一个好消息,虽然可能知道Octave软件的人不多,但在日常使用Matlab作为工具的研究人员中间,大部分可能都知道Matlab的一些替代品。
Octave是开源替代软件之一,实现了很多Matlab的功能,不过开源软件有两个问题,一是制作不够精良,二是多少有Bug。第一点是可以尽量克服的,第二点在重要领域比较麻烦,例如有某个航天器设计项目本来用Matlab做飞行模拟,用到了蒙特卡洛算法(这个算法《我和我的祖国》中出现过,第二个故事研究原子弹的青年在校园中学习,他的女朋友过来找他,拿起他的书读到:蒙特卡洛模拟方法)。该算法Octave也实现了,现在用Octave重新做一遍,如果某个版本的算法实现考虑的不够细致,比如某个参数为了便于实现方便预设它的波动范围在[a,b]之间,超出范围不作处理,那最终设计方案就会一些极限情况下存在隐患。
所以如果禁令成为常态或扩大,基础软件基础理论知识的掌握就会变得非常重要,我后面打算介绍算法领域的一些核心技术,这些技术通常都是框架实现的,开发人员大多数时候不需要关心,但到了特殊时期,就变得重要了。