我一直在尝试测试使用 Cython 与基本 Python 代码相比的加速潜力。为此,我编写了两个脚本“linearAdvec_mat.py”和“linearAdvec_mat.pyx”,如下所示:
linearAdvec_mat.py:
import numpy as np
def Adv_mat(N):
A = np.zeros((N, N));
for i in range(N):
if i == 0:
A[i, N - 1] = -1.0;
A[i, i] = 0.0;
A[i, i + 1] = 1.0;
elif i == N - 1:
A[i, i - 1] = -1.0;
A[i, i] = 0.0;
A[i, 0] = 1.0;
else:
A[i, i - 1] = -1.0;
A[i, i] = 0.0;
A[i, i + 1] = 1.0;
return A;
def …Run Code Online (Sandbox Code Playgroud)