||
在MeteoInfo中引用了Apache Common Math库来实现科学计算,其中线性代数计算功能比如特征值分解的结果可能是复数数组,因此不得不开始在MeteoInfo中增加复数数组的支持。Common Math库里有Complex类来处理复数,Python(Jython)中有复数作为基本数据类型,这些都是添加复数数组支持的良好基础。MeteoInfo中数组使用了Unidata的netCDF Java库中的相关多维数组类,数据类型枚举中并没有COMPlEX,不过有OBJECT,通判断OBJECT是否为复数Complex类就可以实现复数数组,然后再在ArrayMath类中增加对复数数组各种运算的功能,基本实现了对复数数组的支持。对于将MeteoInfo发展成为真正的数值计算、绘图软件又前进了一步。
>>> a = array([2+3j, 1j])
>>> a
array([2.0+3.0j, 0.0+1.0j])
>>> sin(a)
array([9.15449914691143-4.168906959966565j, 0.0+1.1752011936438014j])
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-22 16:02
Powered by ScienceNet.cn
Copyright © 2007-2025 中国科学报社