
作者:尹华杰
来源:跨科
ID:gh_8e414a2cbe23
步入“大数据"时代,数据分析能力在科学研究、工程、金融、经济、新闻和许多其他领域都显得越来越重要。Python以其高度可访问性和充满活力的生态系统,成为数据科学领域最受欢迎的开源语言之一。
Python于1980年代后期由Guido van Rossum创建,有趣的是,它最初并不是为科学计算而设计的。由于Python的解释性,速度比低级语言慢,而后者(如C 或Fortran)更适合数字运算和复杂数学算法的有效实现。然而,低级语言不易使用,通常需要计算机的高等知识。1990年代后期科学家尝试将低级语言的优点引入Python,在保留其便利性的同时,大大提高了Python的计算性能。近二十年来,许多优秀的Python库被开发出来,并得到了广泛应用,比如:
NumPy,提供一种实用的数组数据结构
SciPy,用于科学计算
matplotlib,图形绘画
pandas,数据分析与统计
scikit-learn,机器学习
Sympy,符号计算
Jupyter/IPython,交互式计算的高效接口
除了丰富的库,Python免费、开源的特点,使它从竞争对手中脱颖而出,在数据科学领域占有一席之地。MathWorks公司开发的MATLAB软件,专注数值计算,广泛应用于科学研究和工程领域。SPSS是IBM公司的一款商业软件,用于统计分析。但是MATLAB和SPSS都需要购买许可证。
众所周知,在材料科学领域,有关材料结构、性能的数据不断增长。截至2020年,ICSD(Inorganic Crystal Structure Database,无机晶体结构数据库)包含大约20万种晶体结构。PDB(Protein Data Bank,蛋白质数据库)收录了超过13万组大型生物分子(如蛋白质和核酸)的三维结构数据。类似的数据库还在不断地完善中。值得注意的是,与其他领域(如生物学、化学)的数据库建设相比,材料实验数据在数量和质量方面都相对滞后。
随着第一性原理计算的发展,这一情况在近二十年里大有改善。通过引入近似或假设的方法来修正计算结果,从理论上来说,任何材料的性能都可以通过第一性原理进行合理预测。随着算力的不断增强,以及自动化对计算材料科学软件使用的简化,人们可以更高效地获取大量材料数据。最近十年,出现了一批大型的材料数据库,比如OQMD(Open Quantum Materials Database,开放式量子材料数据库)、Aflow(Automatic FLOW for Materials Discovery)材料数据库等等。总的来说,通过计算生成了大量材料数据,它们可靠且相对准确,同传统的实验数据一起,为材料数据库的建设添砖加瓦,使数据科学技术在材料科学领域有了用武之地。




