z=sin(xy)
看了《千年难题》,第一章是黎曼猜想。里面有两个我很感兴趣的问题:一是关于函数的图形表示方式,比如z=sin(xy)的图像,二是大数的因子分解方式。
专业的数学软件应该能够很容易的生成各种函数图像,但是我要探求的是作为业余人士利用免费工具和简单的编程语言来描绘函数图形。scipy里面的工具可以做这部分工作。
from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np NUM = 300 x=np.linspace(0, 3, NUM) y=np.linspace(0, 3, NUM) x, y = np.meshgrid(x, y) z=np.sin(x*y) fig=plt.figure() ax=fig.gca(projection='3d') ax.plot_surface(x, y, z, cmap=cm.coolwarm, linewidth=0) plt.show()
关于因子分解,书中提到数学家用一些高深精妙的方法寻找素因子,他们的方法巧妙而有效,但是仍然期待黎曼猜想的证明能够使因子分解方法有一个巨大的突破。
下图是 y=1/ln(x)的图像,是素数定理的图像。
import matplotlib.pyplot as plt import numpy as np NUM = 100 x=np.linspace(1.1, 3, NUM) y=1/np.log(x) plt.plot(x, y) plt.show()